Expressのインスタンスをシャットダウンする方法を理解しようとしています。基本的に、私はの逆が欲しい.listen(port)
呼び出し -Expressサーバーにリスニングを停止させ、ポートを解放し、きれいにシャットダウンするにはどうすればよいですか?
これは奇妙なクエリのように思えるので、ここにコンテキストがあります。多分これにアプローチする別の方法があり、私はそれを間違った方法で考えています。私のsocket.io/nodejsアプリのテストフレームワークをセットアップしようとしています。これは単一ページのアプリなので、テストスクリプトでは( Mocha、しかしそれは重要ではありません)サーバーを起動し、テストを実行してサーバーをシャットダウンできるようにしたいと考えています。テストを開始する前にサーバーの電源がオンになっていると想定するか、テストの1つでサーバーを開始し、後続のすべてのテストでサーバーが稼働していると想定することで、これを回避できますが、それは本当に厄介です。各テストファイルで適切な設定でサーバーインスタンスを起動し、テストが終了したらそのインスタンスをシャットダウンすることをお勧めします。つまり、テストを実行するのに奇妙な依存関係はなく、すべてがクリーンです。また、起動/シャットダウンテストを実行できることも意味します。
これを行う方法についてのアドバイスはありますか?私はそれをダウンさせるために手動で例外をトリガーすることを考えましたが、それは面倒そうです。Expressのドキュメントとソースを調べましたが、サーバーをシャットダウンする方法を見つけることができません。このためのsocket.ioにも何かがあるかもしれませんが、ソケットサーバーはExpressサーバーに接続されているだけなので、これはExpressレイヤーで行う必要があると思います。