tape.jsのテストでは、私のデータベースを変更するファイルが異なります。Node.jsでファイルが順番にテストを実行するのを防ぐ方法を教えてください。
個別に実行すると問題なく動作しますが、tape tests/**/*.js
のようなすべてのファイルを実行すると、2番目のファイルのテストが最初のファイルが終了する前に実行され、データベースの状態が正しくないためテストが失敗します。
非同期呼び出しが完了するのを待っている間にノードがファイルを終了できないようにするにはどうすればよいですか?
どちらも私が動作します持っていたこれらのアイデアのは:
function wait() //blocks forever so the test can never finish
{
while (!testsFinished) {;}
}
function wait() //returns immediately because it uses a timeout
{
if (!testsFinished)
setTimeout(wait, 1000);
}
私は考えることができる唯一の他のオプションは、各ファイルを個別に呼び出すためにasync.series([....])
を使用して自分自身のテストファイルマネージャを書くことです。しかし、それは私自身のテストランナーフレームワークを作成するホイールを再発明するだろう。
これは単体テストではありません。これは統合テスト用です。 – Richard
どちらかの方法@marcあなたの答えは質問に答えません –
リチャードは申し訳ありません、質問には言及されていません。 @ jack.the.ripper質問に答えることはbsに伝えることを意味する場合、私は質問に答えるのではなく、代わりに別の回答を使用することをお勧めします。しかし、はい、この場合、私は全く間違っていました。 –