Skip to content
← Back to rules

vitest/prefer-called-once スタイル

An auto-fix is available for this rule.

何を実行するか

toBeCalledTimes(1) および toHaveBeenCalledTimes(1) をそれぞれ toBeCalledOnce() および toHaveBeenCalledOnce() に置き換えます。

なぜこれは問題なのか

*Times メソッドでは、スタブが呼び出される回数を知るために引数を読む必要があります。多くの場合、メソッドが一度だけ呼び出されることを期待しています。

このルールに違反している誤ったコードの例:

js
test("foo", () => {
  const mock = vi.fn();
  mock("foo");
  expect(mock).toBeCalledTimes(1);
  expect(mock).toHaveBeenCalledTimes(1);
});

このルールに準拠している正しいコードの例:

js
test("foo", () => {
  const mock = vi.fn();
  mock("foo");
  expect(mock).toBeCalledOnce();
  expect(mock).toHaveBeenCalledOnce();
});

使用方法

設定ファイルまたは CLI でこのルールを有効化するには、以下のいずれかの方法を使用できます:

json
{
  "plugins": ["vitest"],
  "rules": {
    "vitest/prefer-called-once": "error"
  }
}
bash
oxlint --deny vitest/prefer-called-once --vitest-plugin

参照