Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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 我如何告诉Mocha只在浏览器中运行某个测试(而不是在node.js中)?_Javascript_Node.js_Mocha.js - Fatal编程技术网

Javascript 我如何告诉Mocha只在浏览器中运行某个测试(而不是在node.js中)?

Javascript 我如何告诉Mocha只在浏览器中运行某个测试(而不是在node.js中)?,javascript,node.js,mocha.js,Javascript,Node.js,Mocha.js,我正在使用Mocha测试javascript应用程序中的模块。我的一个模块取决于是否存在文档对象,因此当我在node.js中运行测试并通过浏览器中的测试页面时,该模块的测试将失败 我如何告诉Mocha只在浏览器中运行此特定测试,而不在node.js中运行 if(window && window.document){ runBrowserOnlyTests(); } //? 哎呀。忘记先检查窗口是否存在。对不起,我没听清楚。您可以全局检查“document”,但在这种情况下,显式

我正在使用Mocha测试javascript应用程序中的模块。我的一个模块取决于是否存在文档对象,因此当我在node.js中运行测试并通过浏览器中的测试页面时,该模块的测试将失败

我如何告诉Mocha只在浏览器中运行此特定测试,而不在node.js中运行

if(window && window.document){ runBrowserOnlyTests(); } //?
哎呀。忘记先检查窗口是否存在。对不起,我没听清楚。您可以全局检查“document”,但在这种情况下,显式似乎是最好的,因为文档或窗口很容易成为节点中的其他变量。如果有人在节点中用文档属性定义了一个名为window的对象,那么这就是无知。尽管我认为如果您担心的话,您可以检查构造函数名称,但我觉得这已经足够了,特别是因为我假设每个节点模块都有自己的全局对象,或者它们的名称不会指向require方法。(如果我错了,有人纠正我)