Вам нужно Sinon эмулировать ответов сервера. Эта библиотека имеет утилиты, как это:
this.server.respondWith("GET", "/episode/123",
[200, {"Content-Type": "application/json"},
'{"id":123,"title":"Hollywood - Part 2"}']);
Поэтому, когда у вас есть модель с корневым эпизодом и ид 123, Sinon возвратит это на выборках вызова.
прочитать: http://tinnedfruit.com/2011/03/03/testing-backbone-apps-with-jasmine-sinon.html
Обновление: Добавление второго обхода как запрос Asker. Измерительный метод сохранения.
// Используйте это в ваших тестах вместо Backbone.js модели
var ExtendedModel = Backbone.Model.extend({
//mocked save:
save : function(data, options){
if(data){
this.set(data);
}
var mocked = this.toJSON();
if(!mocked.id){
mocked.id = new Date().getTime();
}
mocked = this.parse(mocked);
if(options.success){
options.success(this);
}
if(options.error){
options.error(this);
}
}
});
var MyModel = ExtendedModel.extend({
});
Однако я по-прежнему рекомендуем вам использовать Sinon. Издевательство над Backbone.js не является ellegant, а также поддерживает коды ответа заголовка, а другие вещи также сложнее и своего рода изобретают велосипед. В то время как с помощью sinon вам просто нужно добавить библиотеку в ответ на создание сервера.
Я использую следующие технологии: backbone.js, require.js, jquery, службы восстановления через WebAPI. от жасмина, я издеваюсь над объектом модели и привязываюсь к представлению для модульного тестирования. когда я получаю ответ от представления на макет модели, как объединить ответы о сохранении модели (sucess, error). не существует способа модульного тестирования ответов модели без синона. – Gururaj
Sinon - это просто другой JavaScript lib, не знаете, почему вы не можете его добавить. Но в любом случае другим способом является перезапись метода сохранения. Я добавлю это обходное решение в свой ответ. –