Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Qunit测试失败,因为document.get*won';不要在测试html页面上工作。_Javascript_Tdd_Qunit - Fatal编程技术网

Javascript Qunit测试失败,因为document.get*won';不要在测试html页面上工作。

Javascript Qunit测试失败,因为document.get*won';不要在测试html页面上工作。,javascript,tdd,qunit,Javascript,Tdd,Qunit,我刚刚开始JS单元测试,正在尝试qUnit 当我的JS执行时(通过它的init()函数),它会从页面中抓取JS正常运行所需的一些节点 目前,我的qUnit测试在开始之前就失败了,因为它在测试html文件中找不到这些节点 我根本没有在JS中使用jQuery(没有框架) 我做了一些环顾四周的工作,这意味着我应该将带有页面的iframe加载到test.html页面上。然后我需要用iframe.document或类似的东西替换文档,对吗 可能吗?如何才能使我的document.getElementByI

我刚刚开始JS单元测试,正在尝试qUnit

当我的JS执行时(通过它的init()函数),它会从页面中抓取JS正常运行所需的一些节点

目前,我的qUnit测试在开始之前就失败了,因为它在测试html文件中找不到这些节点

我根本没有在JS中使用jQuery(没有框架)

我做了一些环顾四周的工作,这意味着我应该将带有页面的iframe加载到test.html页面上。然后我需要用iframe.document或类似的东西替换文档,对吗

可能吗?如何才能使我的document.getElementById()不会失败。听起来我需要将local test.html的上下文设置为与iframe的上下文相同(至少在窗口、文档等方面如此,以便它可以引用相同的节点)


有什么想法吗?

是的,据我所知,您提到的文档节点是测试数据。QUnit
unittest.html
页面包含一个
是的,据我所知,您提到的文档节点是测试数据。QUnit
unit test.html
页面包含一个
您确定您的节点/元素在您的文档中可用吗,有一个
@gideon这是否意味着我需要在我的测试文档上复制我的真实文档中的所有节点?这似乎相当麻烦。这就是它应该如何工作的吗?是的,据我所知,它的测试数据应该在
testfixture
div中,您可能想看看jQueryUI是如何使用qunit的。请参阅[手风琴小部件单元测试](@gideon如果你将你的答案作为回应发布,我会接受。你确定你的节点/元素在你的文档中可用吗,有一个
@gideon这是否意味着我需要在我的测试文档上复制我的真实文档中的所有节点?这看起来相当麻烦。它应该是这样工作的吗?是的,据我所知,它的测试数据和它应该如果你在
testfixture
div中,你可能想看看jQueryUI是如何使用qunit的。请参阅[accordion widget unit tests](@gideon)如果你将答案作为响应发布,我会接受它。