キジ(@kiji)です。
タイトルのように、node.jsのテストツールである、Jestに関する記事です。
問題
describe('分類(ファイルなど)', () => {
it('非同期処理テスト', async() => {
await xxx();
expect(...);
});
});
上記のように、xxxという非同期処理のテストをしたい場合、awaitで待てるようにする必要があります。
awaitを使うには、その実行ブロックをasyncで囲ってあげる必要があります。
しかし、上記のように記載すると、Jestがitを読み込んでくれず、Timeoutされてしまいます。
※ 内部的になぜTimeoutをしているのかは把握できていません。ご存じの方がいらっしゃいましたら、コメントしていただけると幸いです。
対処
describe('分類(ファイルなど)', () => {
it('非同期処理テスト', () => {
(async () => {
await xxx();
expect(...);
})();
});
});
このように、itブロックの中でasycを再定義し、実行することでTimeoutを回避できます。
コメント