跳到正文

jest/prefer-mock-promise-shorthand 样式

🛠️ 对于此规则,一些违规行为可自动修复。

作用

在处理返回 promise 的函数模拟时,Jest 提供了一些 API 糖函数来减少书写样板代码的数量。在可能的情况下应优先考虑这些方法。

示例

javascript
// invalid
jest.fn().mockImplementation(() => Promise.resolve(123));
jest.spyOn(fs.promises, "readFile").mockReturnValue(Promise.reject(new Error("oh noes!")));

myFunction
  .mockReturnValueOnce(Promise.resolve(42))
  .mockImplementationOnce(() => Promise.resolve(42))
  .mockReturnValue(Promise.reject(new Error("too many calls!")));

// 有效

javascript
jest.fn().mockResolvedValue(123);
jest.spyOn(fs.promises, "readFile").mockRejectedValue(new Error("oh noes!"));

myFunction.mockResolvedValueOnce(42).mockResolvedValueOnce(42).mockRejectedValue(new Error("too many calls!"));

引用

根据 MIT 许可证发布。