onSaveEvent: function (event) {
if (this.model !== null) {
var that = this;
this.model.save(this.model.toJSON(), {
success: function (model) {
that.model = model;
that.model.attributes.isDirty = false;
},
error: function (model, xhr) {
that.model.attributes.isDirty = true;
}
});
}
}
}
如何在 Jasmine 中对模型的保存成功和错误响应进行单元测试?
最佳答案
要在没有假服务器的情况下进行测试,您可以测试该函数是否已绑定(bind)到模型,然后自己调用绑定(bind)的函数。换句话说,从模型中模拟出 ajax 保存部分。
var view = new YourView()
jasmine.spyOne(view.model, 'save')
view. onSaveEvent()
var args = view.model.save.mostRecentCall.args
args[1].success()
expect(view.model.attributes.isDirty).toBeFalsy()
args[1].error()
expect(view.model.attributes.isDirty). toBeTruthy()
关于jquery - 如何使用 Jasmine 对保存时的主干成功和错误响应进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16382364/