Are you an LLM? You can read better optimized documentation at /docs/guide/usage/linter/rules/jest/require-to-throw-message.md for this page in Markdown format
jest/require-to-throw-message 正しさ
何を行うか
toThrow() もしくは toThrowError() がエラーメッセージを指定せずに使用された場合、警告を発行します。
なぜこれは良くないのか
期待されるエラーメッセージを明示せずに toThrow() や toThrowError() を使用すると、テストの詳細性が低下し、デバッグが困難になります。エラーが投げられたかどうかのみを確認するテストでは、誤った種類のエラーが投げられてもテストが通過してしまう可能性があり、バグが隠れてしまうことがあります。期待されるエラーメッセージやエラー型を指定することで、テストの精度が向上し、リグレッションをより効果的に検出できます。
例
このルールに対して不正なコードの例:
javascript
test("すべてのもの", async () => {
expect(() => a()).toThrow();
expect(() => a()).toThrowError();
await expect(a()).rejects.toThrow();
await expect(a()).rejects.toThrowError();
});このルールに対して正しいコードの例:
javascript
test("すべてのもの", async () => {
expect(() => a()).toThrow("a");
expect(() => a()).toThrowError("a");
await expect(a()).rejects.toThrow("a");
await expect(a()).rejects.toThrowError("a");
});このルールは eslint-plugin-vitest と互換性があります。これを使用するには、.oxlintrc.json に以下の設定を追加してください:
json
{
"rules": {
"vitest/require-to-throw-message": "error"
}
}使い方
このルールを構成ファイルまたは CLI で有効化するには、次のようにします。
json
{
"plugins": ["jest"],
"rules": {
"jest/require-to-throw-message": "error"
}
}bash
oxlint --deny jest/require-to-throw-message --jest-plugin