Javascript单元测试DOM元素

时间:2011-08-23 15:31:35

标签: javascript unit-testing dom

我刚刚开始为我的javascript构建单元测试(使用QUnit),我有一个函数,它接受一个div并操纵它的子节点。

如何为此创建测试?

我正在考虑在每种情况下使用预期的DOM树创建一个文档片段并对其进行测试。但由于父母等不同,递归检查不会失败吗?我还能怎么做这个测试?

2 个答案:

答案 0 :(得分:1)

具有DOM重置功能,您可以在每次测试后调用它以恢复中立状态。

运行操作DOM的函数。

然后手动检查DOM是否处于正确的状态,只需断言所有内容应该在哪里。

而是通过DOM递归地将它与DOMFragment循环进行比较,并检查您的函数是否已创建新元素,更改的类,更改的文本,更改的属性等。

在您编写了一些测试之后,将函数包装在函数中并干掉代码。

编写这样的代码意味着您可能会在单元测试中复制大量代码,其中您在DOM中检查非常相似的东西。为了更好地重用它们,需要使用常见的代码片段并将它们放在函数中。

答案 1 :(得分:0)

我找到了一个节点。isEqualNode()函数,似乎可以完成所需的工作。它似乎没有比较属性。我还希望比较classNames,id和data- *属性。