Node.js Jest
フォーマット
beforeEach(async (): Promise
テスト前の初期化処理
}, 1000);
afterEach(async (): Promise
テスト後の後処理
}, 1000);
describe(‘〜’, () => {
describe(‘〜’, () => {
it(‘〜’,() => {
テストコード
},1000);
describe(‘〜’, () => {
it(‘〜’,() => {
テストコード
},1000);
});
});
});
アサーション
比較
const actual = test();
expect(actual).toBe(5);
アサーションメソッド | 用途 | 備考 |
toBe | プリミティブ値、オブジェクトの参照先 | |
toEqual | オブジェクトの値 | |
toStrictEqual | 継承元クラスやundifinedなプロパティ |
Called
expect(test).toHaveBeenCalledTimes(1);
expect(test).toHaveBeenCalledWith(引数);
expect(test).not.toHaveBeenCalledWith(引数);
例外
await expect(test()).rejects.toThrow(〜Exception);
Mock
jest.mock(‘〜/Test’, () => {
return {
method1: jest.fn(),
method2: jest.fn(),
};
});
const test = require(‘〜/Test’);
await test.create.method1(async () => 戻り値);
await test.create.method2(async () => {
throw new 〜Exception();
});
each
it.each([
{ year: 2024, month: 2, day: 1 },
{ year: 2024, month: 2, day: 28 },
{ year: 2024, month: 2, day: 29 },
])(‘日付チェック’,({ year, month, day }) => {
テストコード
},1000);
skip
it.skip(‘〜’,() => {
テストコード
});
describe.skip(‘〜’, () => {
it(‘〜’,() => {
テストコード
},1000);
});