実装しているもの
jestを用いたTypeScriptコードのテストを作成しています。
実装しているコードは以下のように、
- sub.ts: 足し算をするだけのplus関数があるだけ
- hoge.ts: sub.plus()を呼び出し + 1するだけ
というシンプルな内容になっています。
hoge.ts
import {plus} from './sub'; export async function hoge(): Promise<number>{ const result = await plus(2,7) + 1; return result; }
sub.ts
export async function plus(a:number,b:number):Promise<number>{ return a + b; }
問題点
ここでhoge.tsのテストコードを作成して実行したところ、以下のタイムアウトエラーが発生してしまいます。
thrown: "Exceeded timeout of 5000 ms for a test. Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."
該当のテストコードは以下になります。
import { hoge } from './hoge' import * as mockModules from './sub' import 'jest' describe('hoge', (): void => { test('hoge_正常系', (): Promise<void> => { const spy = jest.spyOn(mockModules, "plus") .mockImplementation((a: number, b: number) => { return new Promise((resolve) => { return 7; }); }); return hoge().then(data => { expect(data).toBe(8); }); }); });
以下実装にあたり参照した公式ドキュメントです。
https://jestjs.io/ja/docs/asynchronous
NG点分かる方教えて頂けると助かります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。