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!"));