【问题标题】:Jest how to test if a mocked promise is resolved开玩笑如何测试模拟的承诺是否已解决
【发布时间】:2022-06-10 17:43:45
【问题描述】:

我的应用程序代码是这样的:

const promises = requests.map(async request => {await someAPI(request)});
await Promises.all(promises);

我不关心返回值。

我有一个类似 API 的模拟

const someAPI = jest.fn().mockReturnValue(Promise.resolve(true));

我可以测试 someAPI 是否使用正确的参数调用,但我如何测试返回的 promise 是否确实已解决?例如,如果客户端代码只是

const promises = requests.map(async request => {await someAPI(request)});

它会通过调用 API 的测试,即使它实际上并没有尝试解决承诺。

【问题讨论】:

    标签: javascript promise jestjs


    【解决方案1】:

    如果你声明一个初始化为 false 的本地布尔值,订阅 promise 并在 promise 被解析时将布尔值设置为 true,然后断言布尔值为 true,这是否涵盖了测试用例?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-29
      • 2018-08-30
      • 1970-01-01
      • 2021-06-16
      • 1970-01-01
      • 2018-12-10
      • 2021-09-23
      相关资源
      最近更新 更多