Skip to content
← Back to rules

jest/valid-expect 正しさ

An auto-fix is available for this rule.

何を検査するか

expect() が正しく呼び出されているかを確認します。

なぜ問題なのか

expect() はテスト内で値のアサーションに使用される関数です。 単一の引数(テスト対象の値)で呼び出す必要があります。 引数を何も渡さずに expect() を呼び出す、または複数の引数を渡すと、期待した動作をしなくなります。

このルールに対して不適切なコードの例:

javascript
expect();
expect("something");
expect(true).toBeDefined;
expect(Promise.resolve("Hi!")).resolves.toBe("Hi!");

このルールに対して適切なコードの例:

javascript
expect("something").toEqual("something");
expect(true).toBeDefined();
expect(Promise.resolve("Hi!")).resolves.toBe("Hi!");

このルールは eslint-plugin-vitest と互換性があります。 使うには、.oxlintrc.json に以下の設定を追加してください:

json
{
  "rules": {
    "vitest/valid-expect": "error"
  }
}

設定

このルールは以下のプロパティを持つ設定オブジェクトを受け取ります。

alwaysAwait

type: boolean

default: false

true に設定された場合、すべての文脈(戻り文のみに限らず)で非同期アサーションは待つ必要があります。

asyncMatchers

type: string[]

default: ["toResolve", "toReject"]

非同期として扱われ、待つ必要があるマッチャーのリスト(例:toResolvetoReject)。

maxArgs

type: integer

default: 1

expect が呼び出される最大引数数。

minArgs

type: integer

default: 1

expect が呼び出される最小引数数。

使い方

このルールを有効化するには、設定ファイルまたは CLI で次のように使用できます:

json
{
  "plugins": ["jest"],
  "rules": {
    "jest/valid-expect": "error"
  }
}
bash
oxlint --deny jest/valid-expect --jest-plugin

参照