Я пытаюсь использовать chai spies в своих модульных тестах. Я использую карму, мокко, чай и синус.chai spy переходит к утверждению.be.spy, но бросает ошибку на .called() «не является шпионом или вызовом шпиону»
Я изначально пытался использовать chai spies для проверки обратного вызова в моем угловом приложении, которое было вызвано, когда оно было предоставлено. Но чтобы решить эту ошибку, я сварил свой тестовый сценарий с тем, что я считаю довольно простым.
У меня тест по указанному ниже блока
describe('spy tests:', function() {
it('should be spy', function() {
var spy = chai.spy();
expect(spy).to.be.spy;
});
it('should have been called', function() {
var spy = chai.spy();
spy();
expect(spy).to.have.been.called();
});
}
Первый «должен следить» тест пройден, который, насколько я могу причиной означает, что шпион, на самом деле создается. Однако второй тест завершается с ошибкой ниже:
TypeError: { [Function]
toString: { [Function: toString] bind: { [Function: bind] bind: [Circular] } },
reset: { [Function] bind: { [Function: bind] bind: [Circular] } },
__spy: { calls: [ [] ], called: true, name: undefined },
bind: { [Function: bind] bind: [Circular] } } is not a spy or a call to a spy!
Это особенно неприятно, поскольку я только что проверил это шпион в предыдущем «должен быть шпионом» утверждение.
Ниже приведены мои рамки, как и я в том числе их в моих karma.conf.js:
frameworks: ['chai-as-promised', 'chai-things', 'chai-spies', 'sinon-chai', 'chai', 'mocha']
Чтобы сделать дела более расстраивает ниже утверждение не проходит:
expect(spy.__spy.called).to.be.true;
Я счастлив для предоставления любой другой информации. Благодаря!
У вас есть вопросы? Мне также трудно найти пример chai-spies. Я не могу заставить chai.spy.on работать. – devwannabe