2013-06-25 13 views
4

Когда я указываю withArgs для шпиона или заглушки sinon, я ожидаю, что callCount будет только считать вызовы с этими аргументами. Однако это, похоже, не происходит.Sinon Stub/Spy с использованием WithArgs не работает как ожидается

Если я запускаю следующее:

var mySpy = sinon.spy(); 
mySpy.withArgs("foo"); 

mySpy("bar"); 

expect(mySpy.callCount).to.be(0); 

я получаю "ожидается 1 равным 0". Я сумасшедший, это ошибка, или есть ли другой способ сделать это?

ответ

6

Вы должны добавить withArgs к утверждению, тоже, как и так:

var mySpy = sinon.spy(); 
mySpy.withArgs("foo"); 

mySpy("bar"); 

expect(mySpy.withArgs("foo").callCount).to.be(0); 
+2

Или использовать макет так:. 'This.mock() withArgs ("Foo")' в контексте, который проверяет mocks автоматически, или вы можете проверить их вручную. –