我正在使用 Mocha 测试我的 javascript 应用程序中的模块。我的模块之一依赖于文档对象,因此当我在 node.js 中运行测试并通过浏览器中的测试页面时,对该模块的测试失败。
我如何告诉 Mocha 只在浏览器中而不是在 node.js 中运行这个特定的测试?
最佳答案
if(window && window.document){ runBrowserOnlyTests(); } //?
糟糕。忘记先检查窗口是否存在。对不起,我没听清楚。您可以在全局范围内检查“文档”,但在这种情况下显式似乎最好,因为文档或窗口很容易成为 Node 中的其他变量。如果有人用文档属性在 Node 中定义了一个名为 window 的对象,那么,那只是无知。虽然我想如果您担心的话可以检查构造函数名称,但这让我觉得足够了,特别是因为我假设每个 Node 模块都有自己的全局对象,或者它们不会指向 require 方法。 (如果我错了,有人纠正我)
关于javascript - 我如何告诉 Mocha 只在浏览器中运行某个测试(而不是在 node.js 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17181037/