以下の内容はhttps://fuqda.hatenablog.com/entry/2023/08/30/175503より取得しました。


JestのmockReturnValueOnceがmockreturnvalueonce is not a functionになってしまう場合の解決法

経緯

該当の関数を 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({
    <中略>
  });
});



以上の内容はhttps://fuqda.hatenablog.com/entry/2023/08/30/175503より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14