【问题标题】:jest - mockReturnValue : Promise<boolean>笑话 - mockReturnValue : Promise<boolean>
【发布时间】:2020-04-09 18:31:19
【问题描述】:

我是新手,我想模拟一个返回 Promise&lt;boolean&gt;. 的函数 我这样做了:

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

但我收到了这个错误:

错误 TS2693: 'boolean' 仅指一种类型,但被用作 这里的值。

【问题讨论】:

    标签: javascript node.js typescript jestjs


    【解决方案1】:

    如果你想模拟一个 Promise,你必须使用这个:

    jest.fn().mockImplementation(() => Promise.resolve(value));
    

    【讨论】:

      【解决方案2】:

      同意@Max 的回答

      语法糖函数将是这样的:

      jest.fn().mockResolvedValue(value);
      

      【讨论】:

        【解决方案3】:

        还有另一种方法可以模拟返回 Promise 的函数。

        service.changeBookingAsync = jest.fn().mockReturnValue(Promise.resolve(true));
        

        这相当于

        jest.fn().mockResolvedValue(true);
        

        mockFn.mockResolvedValue(true) 是一个语法糖函数:

        jest.fn().mockImplementation(() => Promise.resolve(true));
        

        您可以从 Jest 的官方文档中了解更多关于 mockResolvedValue() 的信息。

        【讨论】:

          猜你喜欢
          • 2019-10-28
          • 2021-04-25
          • 2018-10-19
          • 1970-01-01
          • 2020-10-06
          • 2019-01-25
          • 1970-01-01
          • 2019-02-15
          • 1970-01-01
          相关资源
          最近更新 更多