2017-10-14 6 views
1

、問題は、サーバーが(それはだ開始CIのnpmサーバテストをきれいに終了できますか?私はトラヴィス-CI上でテストしているしたいノードベースのサーバーを開発してきた

上の任意のエラーを持っている場合、私は今、テストしたいだけの事はあるありますAPIを提供するためのバックエンドだけで、開始時にはポートからサービスが提供されます)。

うまく始めるならば、私はCIのVM上で永遠に実行したくありません。私はスクリプトを私のpackage.jsonに入れてみましたが、PIDがkillのbashスクリプトを指していますが、Travisのビルドに合格するためには完全に終了しません。

短いストーリーで、テストをnpm startで数秒間実行してから、エラーがなければノードをきれいに閉じるにはどうすればよいですか?

答えて

0

サーバの周りにラッパーを追加して、テストとして実行して、x秒後に終了するか、エラーが発生した場合に終了することができます。このようなもの:

require('./myserver') // i asume this starts your server 
setTimeout(() => process.exit(0), 5000) // exits with 0 exit code after 5 seconds 
process.on('uncaughtException', (err) => { 
    console.log(err) 
    process.exit(1) 
}) 
+0

優秀な、私は既存のサーバーにタイムアウトとエラーチェックを統合することができました!ありがとう〜 –

関連する問題