我有一对document.write()
用于改变 DOM 的实用程序函数,注入加载 JavaScript 和 CSS 的标签。
是否可以使用 QUnit 来测试注入是否正确发生而不会影响测试结果页面的实际 DOM?
我可以:
覆盖
document.write()
,也许 insetup
并重置它teardown
,成为我定义的函数。但是他们我并没有测试document.write()
他们应该做的事情。使用 js-test-driver 之类的东西让 JavaScript 从命令行运行(尽管我真的希望有可用的测试结果页面)。
为这些实用程序测试创建一个单独的测试结果页面,以便这些结果不会以任何方式、形状或形式影响其他测试(尽管我真的想要一个统一的页面)。
传递实用程序函数以加载空 JS 和 CSS 文件,这样它们实际上不会影响结果页面。
所以我有选择。
但我真正想要的是制作document
一些文档,而不是实际的当前文档。我不确定这是可能的。(事实上,我什至不确定这是否有意义。)这可能吗?似乎我可以用 iframe 或类似的东西来做一些事情。
如果它有帮助,这里有一个我想要单元测试的函数类型的例子:
function(jsFile){
document.write('<script type="text/javascript" src="'+jsFile+'"></script>');
}