5
Hãy nói rằng tôi có các phương pháp sau:Stubbing một phương pháp nguyên mẫu với Sinon
Controller.prototype.refresh = function() {
console.log('refreshing');
}
Controller.prototype.delete = function (object) {
var self = this;
object.delete({id: object.id}, function() {
self.refresh();
});
}
bây giờ trong tôi (mocha) kiểm tra:
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);
});
này, tuy nhiên, bản in "làm mới" vào giao diện điều khiển . Có cách nào để sử dụng sinon để tạo ra một nguyên mẫu sống?
Nó làm việc cho tôi: http://jsfiddle.net/b36u47jq/. 'Var object =' khai báo/định nghĩa dòng mã của bạn thiếu một dấu ngoặc nhọn - có thể đó là vấn đề? – psquared