У меня есть функция javascript, которая выполняет вызов Ajax и записывает значение, возвращаемое в элемент DOM. Я пишу модульный тест для этой функции с помощью jasmine, и я могу издеваться над запросом ajax, используя его.
Ниже приведены функциональные и модульные тесты.
myFunction(){
......
....
$.ajax(){
method: "GET"
url: "/myTest"
success: function(test){
$("#htmlElem").html(test);
}
};
};
it("specifying response when you need it", function() {
expect(jasmine.Ajax.requests.mostRecent().url).toBe("/myTest);
...
jasmine.Ajax.requests.mostRecent().response({
"status": 200,
"contentType": 'text/plain',
"responseText": 'awesome response'
});
myFunction();
var testVal = $("htmlElem").val();
expect(testVal).toBe('awesome response');
});
Тестовый пример завершается ошибкой, показывая, что testVal пуст. Насколько я понимаю, это происходит из-за того, что фактический вызов ajax не был выполнен, поэтому вызов успеха также. Правильно ли я понимаю? Если это так, то как я могу проверить, что значение, возвращаемое вызовом ajax, правильно установлено для элемента html. Заранее спасибо Любой п