У меня есть два вопроса:
Можно ли было параметризовать модульные тесты в qunit?
Как Вы делаете насмешку с qunit, например, насмешку a getJSON
звонить?
Спасибо
Для издевательств над запросами на аякс можно попробовать что-нибудь вроде этого...
Вот функция, которую вы хотите протестировать:
var functionToTest = function () {
$.ajax({
url: 'someUrl',
type: 'POST',
dataType: 'json',
data: 'foo=1&foo=2&foo=3',
success: function (data) {
$('#main').html(data.someProp);
}
});
};
Вот тестовый пример:
test('ajax mock test', function () {
var options = null;
jQuery.ajax = function (param) {
options = param;
};
functionToTest();
options.success({
someProp: 'bar'
});
same(options.data, 'foo=1&foo=2&foo=3');
same($('#main').html(), 'bar');
});
Она, по сути, переопределяет функцию jQuery's ajax, а затем проверяет следующие 2 вещи: - значение, которое было передано функции аякса. - ссылается на отзыв об успехе и утверждает, что он сделал то, что должен был сделать
.См. Эту ссылку, чтобы смоделировать вызов getJSON в ваших методах установки / разрыва, http://www.ajaxprojects.com/ajax/tutorialdetails .php? itemid = 505