Я пытаюсь проверить эту простую Ajax-запрос с Жасмин:Тест простой ajax- Успех Обратный вызов
var Card = {
single : function(params){
$.ajax({
dataType: "json",
headers: {"X-TOKEN": TOKEN},
url: SERVER,
success: function(data,status,xhr){
params.params['card'] = data['card'];
params.callback(params.params);
},
error: function(xhr, status, error) {
ErrorHandler.connection(xhr,status,error);
}
});
},
Мой код теста:
it("should call Callback with appropiate Callbacks", function(){
var Meth = {test_method: function(params){}};
spyOn(Meth,"test_method");
spyOn($, "ajax").and.callFake(function(e) {
e.success('one','two','three');
});
Card.single({id: 2, params: {callback: Meth.test_method}});
expect(Meth.test_method).toHaveBeenCalled();
});
Я просто не могу понять, почему мой тест Безразлично» работа! Вместо этого я получаю ошибку, что-то неопределенное:
Uncaught TypeError: undefined is not a function
В этой линии Жасмин Libary jasmine.js 2108:
this.result.failedExpectations.push(this.expectationResultFactory(data));
Что делать я неправильно? Благодаря!
Ну 'params.callback (params.params);' неправильно – epascarello
Ой спасибо! Знаете ли вы решение, как я могу передать параметры этого «успешного» блока? Благодаря! –
Нет обратного вызова не будет вызываться, так как вы не ссылаетесь на правильный ... – epascarello