0

我的模型在每次同步后设置 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 ,因为它会导致错误,但是如果我存根它,则永远不会触发同步事件。如果我存根同步方法,同样的事情也适用。

4

1 回答 1

0

您可以手动触发模型的同步事件,如下所示:

model.trigger('sync');
于 2014-04-18T17:12:43.920 回答