JestのMockのやり方(簡易版)
よく忘れてしまうのでメモ
下記のように色々なやり方がありますが、手軽にできるやり方で jestjs.io
Mockしたいメソッドをjest.fn()としたオブジェクトを作成
const mockObj = { mockFunc: jest.fn(), };
テストしたいクラスにMockオブジェクトを注入
inversifyを使っている場合はコンテナから持って来るのではなく頑張ってnewで作る
const testInstance = new TestClass( container.get('otherClass'), mockObj as OriginalClass, ); testInstance.handle();
実行中にjest.fn()が呼ばれた回数や、その引数などをチェック可能
expect(mockObj.mockFunc.mock.calls.length).toBe(1); // mockが呼ばれた回数 expect(mockObj.mockFunc.mock.calls[0][0]).toBe('arg1'); // 引数1 expect(mockObj.mockFunc.mock.calls[0][1]).toBe('arg2'); // 引数2