同步事件的主干单元测试策略?

时间:2014-04-18 15:33:30

标签: unit-testing backbone.js mocha sinon chai

我的模型在每次同步后设置startAttributes:

    this.on('sync', function(model) {
        model.startAttributes = _.clone(model.attributes);
    });

如果正确完成,我该如何进行测试?

describe('History', function() {
    beforeEach(function() {
        this.address = new app.models.Address();
        this.sync_stub = sinon.stub(this.address, 'sync');
    });
    it("should set the startAttributes when the model syncs", function () {
        this.address.save();
        should.exist(this.startAttributes);
    });
    afterEach(function() {
        this.sync_stub.restore();
    });
});

我无法在没有存根的情况下调用save,因为它会导致错误,但如果我将其存根,则永远不会触发同步事件。如果我存根同步方法,同样适用。

1 个答案:

答案 0 :(得分:0)

您可以为此模型手动触发同步事件:

model.trigger('sync');