vitest/prefer-called-once 风格
它的作用
分别将 toBeCalledTimes(1) 和 toHaveBeenCalledTimes(1) 替换为 toBeCalledOnce() 和 toHaveBeenCalledOnce()。
为什么这是不好的?
*Times 方法需要读取参数以了解预期的调用次数。大多数情况下,你期望某个方法只被调用一次。
示例
此规则的错误代码示例:
js
test("foo", () => {
const mock = vi.fn();
mock("foo");
expect(mock).toBeCalledTimes(1);
expect(mock).toHaveBeenCalledTimes(1);
});此规则的正确代码示例:
js
test("foo", () => {
const mock = vi.fn();
mock("foo");
expect(mock).toBeCalledOnce();
expect(mock).toHaveBeenCalledOnce();
});如何使用
要通过配置文件或 CLI 启用此规则,可以使用:
json
{
"plugins": ["vitest"],
"rules": {
"vitest/prefer-called-once": "error"
}
}bash
oxlint --deny vitest/prefer-called-once --vitest-plugin