経緯
該当の関数を jest.mocked(useStore)
のようにモックしているのに、戻り値をモックしようとすると mockreturnvalueonce is not a function
のエラーが出てしまいました...
関数だけモックしてもモジュール全体をパス指定してモックしないとダメなことがわかったので、本稿はその備忘録です。
結論
該当モジュールを先に「jest.mock("~/composables/store")
」のようにモックしてから、関数をモックした後でmockReturnValueOnceするとうまくいくっぽいです。
実装例
import { useStore } from "~/composables/store"; // 該当モジュール全体をモック jest.mock("~/composables/store"); // 関数をモック const useStoreMock = jest.mocked(useStore); <中略> beforeEach(() => { useStoreMock.mockReturnValueOnce({ <中略> }); });