开玩笑-mockReturnValue:Promise <boolean>

时间:2019-12-17 09:24:52

标签: javascript node.js typescript jestjs

我是新手,我想模拟一个返回Promise<boolean>.的函数 我是这样做的:

service.changeBookingAsync = jest.fn().mockReturnValue(boolean);

但是我遇到了这个错误:

  

错误TS2693:“布尔值”仅引用一种类型,但被用作   值在这里。

3 个答案:

答案 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() 的更多信息。