简体   繁体   English

Mocha'未捕获的ReferenceError:窗口未定义'

[英]Mocha 'Uncaught ReferenceError: window is not defined'

I'm just starting with JS unit testing and while every tests are going well (I've went with Mocha) I'm having a problem while it requires some 'document's' attributes, like: 我刚刚开始使用JS单元测试,而且每次测试都进展顺利(我已经和Mocha一起去了)我遇到了一个问题,虽然它需要一些'文档'属性,比如:

var baseTag  = document.getElementsByTagName('base');

it gives me the following error: 它给了我以下错误:

Mocha 'Uncaught ReferenceError: document is not defined'

my test run command is: 我的测试运行命令是:

mocha -u bdd test.js --reporter spec

now my question is, do I need some PhantomJS (or simillar tool) for testing when I need an acces for document's and DOM objects? 现在我的问题是,当我需要访问文档和DOM对象时,是否需要一些PhantomJS(或simillar工具)进行测试? Or I'm just opened for any advice how this should be resolved. 或者我刚刚打开任何建议如何解决这个问题。

Yes, you need to use something like PhantomJS or jsdom so to run your code against some sort of DOM tree. 是的,您需要使用像PhantomJS或jsdom这样的东西,以便针对某种DOM树运行您的代码。 By default Node does not provide a DOM tree because it is rather specific functionality that most applications don't need. 默认情况下,Node不提供DOM树,因为它是大多数应用程序不需要的特定功能。

What solution you want to select really depends on the code you are testing. 您想要选择哪种解决方案取决于您正在测试的代码。 I've had good results with jsdom to test code that only needs to navigate the nodes in a DOM tree. 我已经用jsdom 测试了只需要在DOM树中导航节点的代码 There is certainly a point at which jsdom won't do it. 肯定有一点是jsdom不会这样做的。 I'm not sure where the limit is. 我不确定限制在哪里。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 chorme 扩展错误:未捕获的 ReferenceError:未定义窗口 - Error on chorme extension: Uncaught ReferenceError: window is not defined Ace编辑器:未捕获的ReferenceError:窗口未定义 - Ace Editor: Uncaught ReferenceError: window is not defined 未捕获的 ReferenceError ReferenceError:未定义问题 - Uncaught ReferenceError ReferenceError: question is not defined 未捕获的 ReferenceError ReferenceError:未定义事项 - Uncaught ReferenceError ReferenceError: Matter is not defined “Uncaught ReferenceError: window is not defined” p5.js web worker - “Uncaught ReferenceError: window is not defined” p5.js web worker 未捕获的ReferenceError:未在window.onload中定义web3 - Uncaught ReferenceError: web3 is not defined at window.onload 尝试在Papa Parse中使用工作者时出现“ Uncaught ReferenceError:未定义窗口” - “Uncaught ReferenceError: window is not defined” when trying to use a worker in Papa Parse 未捕获的ReferenceError:未定义sendcard - Uncaught ReferenceError: sendcard is not defined 未捕获的ReferenceError:Dygraph未定义 - Uncaught ReferenceError: Dygraph is not defined 未捕获的 ReferenceError:模型未定义 - Uncaught ReferenceError: model is not defined
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM