jest/valid-expect 正确性
它做了什么
检查 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
默认值: false
当为 true 时,异步断言必须在所有上下文中都被等待(不仅限于返回语句)。
asyncMatchers
type: string[]
默认值: ["toResolve", "toReject"]
被视为异步且因此需要等待的匹配器列表(例如 toResolve、toReject)。
maxArgs
type: integer
默认值: 1
expect 调用时允许的最大参数数量。
minArgs
type: integer
默认值: 1
expect 调用时要求的最小参数数量。
如何使用
通过配置文件或 CLI 启用此规则,可以使用:
json
{
"plugins": ["jest"],
"rules": {
"jest/valid-expect": "error"
}
}bash
oxlint --deny jest/valid-expect --jest-plugin