小编Nas*_*oud的帖子

不计算 Jest 模拟函数调用

我想从一个对象模拟一个函数帖子。我是这样做的:

jest.mock('../../apis.js', () => {
  return () => {
    return {
      post: jest.fn(() => {
        console.log('POST was called !');
        return Promise.resolve();
      }),
    };
  };
});
Run Code Online (Sandbox Code Playgroud)

然后,我提出我的要求:

const apis = require('../../apis');
Run Code Online (Sandbox Code Playgroud)

最后我调用我的服务,它将调用模块中的post()函数apis

client.doPost()
  .then(() => {
    console.log('count: ', apis().post.mock.calls.length);
    expect((apis().post)).toBeCalled();
  });
Run Code Online (Sandbox Code Playgroud)

doPost()函数调用了模拟的post()('POST was called !' 消息被打印)但是count is equal to 0并期望失败。

unit-testing mocking jestjs

2
推荐指数
1
解决办法
3367
查看次数

标签 统计

jestjs ×1

mocking ×1

unit-testing ×1