24

警告で失敗するように jest テストを構成するにはどうすればよいですか?

console.warn('stuff');
// fail test
4

6 に答える 6

5

私は最近、(コンテキスト/オブジェクトを介したアクセスである)のメソッドをモックするために、jest.spyOnintroduced inを使用してこれを実装しました。v19.0.0warnconsoleglobal

expect以下に示すように、モックwarnが呼び出されなかったことを確認できます。

describe('A function that does something', () => {
  it('Should not trigger a warning', () => {
    var warn = jest.spyOn(global.console, 'warn');

    // Do something that may trigger warning via `console.warn`
    doSomething();

    // ... i.e.
    console.warn('stuff');

    // Check that warn was not called (fail on warning)
    expect(warn).not.toHaveBeenCalled();

    // Cleanup
    warn.mockReset();
    warn.mockRestore();
  });
});
于 2017-10-11T02:05:19.997 に答える