Ответ 1
Этот вопрос был задан некоторое время назад, но все еще может быть интересным, особенно для людей, которые не знакомы с синоном.
this.spied.reset()
не требуется, поскольку Obj.prototype.spiedMethod.restore();
удаляет шпиона.
Обновление:
- Если вы просто хотите reset количество вызовов, используйте
reset
. Это держит шпиона. - Чтобы удалить шпион, используйте
restore
.
При работе с sinon вы можете использовать утверждения sinon для расширенного тестирования. Поэтому вместо написания expect(this.spied).to.have.been.calledOnce;
можно написать:
sinon.assert.calledOnce(Obj.prototype.spiedMethod);
Это также работает с this.spied
:
sinon.assert.calledOnce(this.spied);
Существует множество других методов утверждения синонов. Рядом с calledOnce
есть также calledTwice
, calledWith
, neverCalledWith
и многое другое на утверждениях sinon.