no-await-in-expect
`expect(await ...)` の代わりに `await expect(...).resolves` / `.rejects` を要求します。
- ルール ID:
tai-kun/no-await-in-expect - 自動修正: あり
expect() の引数で await した値を検証するコードを検出します。expect(await ...) では拒否された Promise を .rejects で検証できないため、await expect(...).resolves または await expect(...).rejects に書き換えます。
設定
このルールを有効にするには、vite.config.ts の lint.rules に追加します。
"tai-kun/no-await-in-expect": "error",
例
違反例
test("basic", async () => {
expect(await run()).toBe(1);
});
修正後
test("basic", async () => {
await expect(run()).resolves.toBe(1);
});
注意
- 自動修正では
.resolvesを付けて書き換えます。拒否を検証したい場合は、手で.rejectsに直してください。 - すでに
.resolves/.rejectsが付いているチェーンでは、awaitを外すだけの修正になります。 - すでに
awaitされている式(await expect(await ...)など)には、awaitを重ねて追加しません。