我一直有意将单元测试整合到我的javascript开发中一段时间,因为我已经习惯使用firebug进行调试和测试,所以fireunit自然是做JS单元的明显选择测试。将HTML添加到Javascript Fireunit测试
我明白如何使用fireunit,但我仍然对如何在实际和有效的方面使用它感到困惑。我主要关心的是无法测试任何实际操纵DOM的函数,它让我们面对它几乎是所有的函数。
例如,我可能有一个看起来像这样的函数。
function() {
var el = document.getElementById('el');
if(el) {
el.parentNode.removeChild(el); //Removes the child from the DOM
}
}
这是一个基本的例子,但是使用该函数需要与DOM进行交互。当包含元素的HTML未加载时,如何对此单元进行测试!?!
我对jsTestDriver不太熟悉,但是根据我的理解,您可以使用注释将HTML添加到单元测试中(或者说,代码看起来像什么)。有没有办法通过fireunit测试来做这种事情?或者我应该用我们遍布各地的代码片段来混淆我的test.html,并希望它们不会发生冲突。定义一个在函数开始时加载的小块HTML会很好,然后当测试函数完成并移到下一个时移除它自己。
我有一些想法,例如使用innerHTML来加载和卸载片段到测试DIV中,但我所有的方法都不够清晰,并且需要为每个测试函数编写大量的样板文件。我想听听一些可能已经提出了更有效的解决方案的人。