我一直在研究 javascript 测试套件,我发现QUnit非常有趣。我了解如何测试计算代码,但是...
您如何测试主要为 DOM 操作而编写的 javascript 应用程序?
似乎测试 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;
}
我疯了吗?这应该怎么做?
编辑:问题的核心:
我想我的意思是,我需要确保在部署之前代码没有被破坏,但其中绝大多数是 UI 助手和 ajax。我如何测试事情是否正确显示?
几个例子:
- 测试一个 JQuery UI 对话框是否出现在所有其他元素之上
- 测试拖放是否正常工作
- 测试当一个元素被拖放到一个可放置对象上时它的颜色会发生变化
- 测试ajax是否正常工作
- 测试没有多余的逗号会破坏 IE