Sinon不适用于Q promises

时间:2015-06-17 04:03:23

标签: javascript q sinon

我一直在使用sinon很长一段时间,它完美无缺。但是现在我们开始使用Q承诺,看起来像是与sinon间谍打破了。

例如:

var spy = sandbox.spy(someApi,"callFn")
// success: return a promise fulfilled with `5`:
someStub.withArgs("foo").returns(Q.resolve(5));

我能够做到这一点,这反过来解决了这个承诺。通过添加then语句,我能够看到console.log承诺块正在执行:

promise.then(function(){
  console.log("comes here") // <---- gets printed
  someApi.callFn() // <--- spies on this are failing
})

即使调用callFnspy仍称callCount0。我真的不确定,为什么sinon无法窥探在promise then块内调用的函数。

我在这里遗漏了什么吗?请告诉我以解决我的问题。

0 个答案:

没有答案