Я изучал наборы тестов javascript и нашел QUnit очень интересным. Я понимаю, как проверить вычислительный код, но ...
Как вы тестируете приложения javascript, написанные в основном для манипулирования DOM?
похоже, что тестирование положения / цвета / и т. Д. Элементов 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;
}
Я чокнутый? Как это должно быть сделано?
edit : суть вопроса:
Я предполагаю, что мне нужно убедиться, что код не нарушен перед развертыванием, но подавляющее большинство из них - помощники пользовательского интерфейса и ajax. Как мне проверить, что все выглядит правильно?
Несколько примеров:
- проверить, что диалоговое окно JQuery UI появляется поверх всех других элементов
- проверка правильности работы drag-n-drop
- проверка того, что цвет выпадающего предмета изменяется при падении на него элемента
- проверка правильности работы ajax
- проверить, что нет посторонних запятых, которые сломают IE