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