Я изучал javascript-тесты, и я нашел QUnit, чтобы быть очень интересным. Я понимаю, как тестировать вычислительный код, но...
Как вы тестируете приложения javascript, написанные в основном для манипуляций с DOM?
кажется, что тестирование позиции/цвета/etc элементов DOM было бы спорным, потому что вы в конечном итоге сделали бы что-то вроде этого:
$("li.my_element").css("background-color", "#f00");
а затем в вашем тесте...
$(function() {
module("coloring");
test("test_my_element", function() {
var li_element_color = $("li.my_element").css('background-color');
equals(li_element_color, "#f00");
});
});
это просто не кажется правильным, потому что в основном это делает:
var my_li= $("li.my_element");
my_li.css("background-color", "#f00");
if ( my_li.css("background-color") == "#f00" ) {
return true;
}
Я орехи? Как это должно быть сделано?
изменить: сердце вопроса:
Я предполагаю, что я получаю, мне нужно убедиться, что код не сломался до развертывания, но подавляющее большинство из них - помощники пользовательского интерфейса и ajax. Как проверить правильность отображения вещей?
Несколько примеров:
- проверьте, что диалог JQuery UI появляется поверх всех других элементов
- проверьте, что drag-n-drop работает нормально
- проверьте, что цвет droppable изменяется при удалении элемента на нем.
- проверьте, что ajax работает нормально
- проверьте, что нет посторонних запятых, которые сломают IE