摩卡间谍返回callCount 0

时间:2018-09-14 00:16:27

标签: node.js mocha sinon

我在节点env中使用mocha,chai和sinon进行单元测试。我需要测试一个场景,该场景调用服务以获取数据并返回数据。

我的控制器如下:

{
   get model() { return schema},
   async findUser(data) {
      const data = await this.model.find({ id: data.id });
      return data;
   }
}

在我的摩卡测试中,我使用Sinon存根返回模型并找到类似以下的函数:

sinon.stub(controller, 'model').get(() => ({
    find: () => ({ username: 'asdf' })
}));

我的测试按预期工作。现在,我想测试一下我的find方法ID是否被调用过一次并将参数传递给它。为此,我添加了以下代码

const spyFind = sinon.spy(controller.model, 'find');
assert.isTrue(spyFind.calledOnce);

这应该返回true,因为调用了spyFind并返回了预期的模拟值。但是,当我调试时,spyFind对象会说isCalled为“ false”。有人可以帮助我了解我在做什么错吗?

0 个答案:

没有答案