(mocha + chaiの代わりに)私のサーバーユニットテストにjestを使いたい。 すべてのテストが開始する前に(initの目的)、すべてのテストファイルではなく1回だけ非同期関数を実行できる方法はありますか?また、すべてのテストが完了した後に何かを実行する方法がある場合は?すべてのテストの前にJCEが非同期機能を実行する
答えて
あなたはNPMと冗談テストを実行する場合は、
"scripts": {
"test": "node setup.js && jest"
}
他のコマンドを実行する前に、任意のノードのコマンドまたは任意の実行可能ファイルを実行することができますので、今あなたが
$ npm t
コマンドでこれを実行することができます冗談はbeforeAll
を提供し、 afterAll
。 test
/it
の場合と同様に、関数が約束を返した場合、解決することを約束します。
beforeAll(() => {
return new Promise(resolve => {
// Asynchronous task
// ...
resolve();
});
});
あなたはコールバックを使用して、いくつかの既存のテストコードを持っている場合、約束を使用することをお勧めしますが、それはまた、コールバックスタイルをサポートしています。
beforeAll(done => {
// Asynchronous task
// ...
done();
});
[Jest 'beforeAll'](https://facebook.github.io/jest/docs/en/api.html#beforeallfn-timeout)は素晴らしい、特にre:Promises"関数が約束を返すかジェネレータJestはテストを実行する前にその約束が解決するのを待つ」ジャスミンには同等のものがありますか? JasmineはPromisesをサポートしていないようですが、[done *コールバックのアプローチをサポートしていますか?](https://jasmine.github.io/2.1/introduction.html#section-Asynchronous_Support)分度器を使用していますが、 'done'コールバックは私のためには機能しません(ここに記載されています)(https://stackoverflow.com/a/34892316/1175496)、 –
この機能はglobalSetup
とglobalTeardown
構成で、Jest's 22 versionに追加されました。
- 1. すべてのjunitテストの前に、非同期コールバックを1回実行してください。
- 2. 私の機能をNodeJSで非同期に実行
- 3. 非同期非同期テストJavaScript関数を待機します
- 4. STM32は非同期機能を実行します
- 5. 非同期前に関数を呼び出す関数非同期の前に機能
- 6. (非同期機能)
- 7. 非同期テクスチャローディングの機能
- 8. アクションの非同期機能
- 9. 非同期機能のsetTimeout
- 10. RxJSと連続して非同期機能を実行しています
- 11. のActiveRecordを実行する非同期
- 12. 非同期にメソッドを実行する
- 13. 非同期でmvn統合テストを実行する
- 14. 同期と非同期AJAXを同時に実行する
- 15. django +竜巻アプリケーションの非同期機能のテスト
- 16. 同期コードの非同期実行
- 17. CUDAプログラムですべての非同期実行を無効にする
- 18. 機能の非同期待機
- 19. nodejs非同期機能する方法?
- 20. すべての実行を完了するために非同期メソッドで待機する方法
- 21. 非同期機能Syncronize
- 22. VISタイムライン - 非同期機能
- 23. チェーン非同期機能
- 24. vuex:非同期機能
- 25. 非同期コードの実行
- 26. 非同期待機ボタンは常に同期的に実行されます。
- 27. 確実に実行されるすべてのテストの前後のコード実行
- 28. 非同期テスト
- 29. express.jsが始まる前に非同期関数を実行する
- 30. コール非同期機能が反応ネイティブ
ありがとうございましたが、私はJestソリューションを探していました。 Mochaのように、BeforeAllをグローバルなスコープに置くことができます.Jestはこれと似たようなことを望んでいました。 – Roy
この解決策は問題ありませんが、これは ' - watch 'モードで実行されることはありません。 Jestソリューションはありますか? – Wajahath