我是新手,我想模拟一个返回Promise<boolean>.
的函数
我是这样做的:
service.changeBookingAsync = jest.fn().mockReturnValue(boolean);
但是我遇到了这个错误:
错误TS2693:“布尔值”仅引用一种类型,但被用作 值在这里。
答案 0 :(得分:0)
如果您要模拟Promise,则必须使用以下方法:
nothrow
答案 1 :(得分:0)
同意@Max答案
语法糖功能将是这种方式:
jest.fn().mockResolvedValue(value);
答案 2 :(得分:0)
还有一种方法可以模拟返回 Promise 的函数。
service.changeBookingAsync = jest.fn().mockReturnValue(Promise.resolve(true));
这相当于
jest.fn().mockResolvedValue(true);
而 mockFn.mockResolvedValue(true)
是一个语法糖函数,用于:
jest.fn().mockImplementation(() => Promise.resolve(true));
您可以从 Jest 的官方文档中阅读有关 mockResolvedValue() 的更多信息。