jestのmockメモ
jest.fn() は関数、.mockImplementation() はコンストラクタのmockを作る
jest.mock はコンパイル時に行頭に移動する
外の変数を参照できない
.doMock があるけど、requireすると型がなくなるので使えない
mockオブジェクトは __mocks__ 以下に置く
testMatch 的なノリのオプションとして mockMatch はない
mock関数の返り値に方をつけたい時は jest.fn<typeof value, any>(() => value) って感じ
.mockImplementation も同じ
spyOn でスタブできる
jest.spyOn(Service.prototype, 'method').mockImplementation(() => 42); 的な
テストしたいモジュール A が依存しているモジュール B の mock を作る場合
code:a.spec.ts
import { mocked } from "ts-jest/utils";
import { func } from "./b";
jest.mock("./b");
mocked(func).mockImplementation()
requireMock が便利
チートシート