5
Powiedzmy mam następujące metody:stubbing metodę prototyp z Sinon
Controller.prototype.refresh = function() {
console.log('refreshing');
}
Controller.prototype.delete = function (object) {
var self = this;
object.delete({id: object.id}, function() {
self.refresh();
});
}
teraz w moim (mocca) badania:
beforeEach(function() {
var controller = new Controller();
var proto = controller.__proto__;
var object = {id: 1, delete: function (options, callback) { callback(); };
sinon.stub(proto, 'refresh', function {console.log('refreshing stub')});
controller.delete(object);
});
it('doesnt work', function() {
expect(object.delete.callCount).to.equal(1);
expect(proto.refresh.callCount).to.equal(1);
});
To jednak drukuje „odświeżenia” do konsoli . Czy istnieje sposób na wykorzystanie sinona, aby zablokować żywy prototyp?
on pracował dla mnie: http://jsfiddle.net/b36u47jq/. W twoim wierszu deklaracji/definicji kodu 'var object =' brakuje nawiasu klamrowego - czy to może być problem? – psquared