1

I’m using Mocha to test modules in my javascript application. One of my modules depends on there being a document object, so the test for that module fails when I run my tests in node.js and passes in the testing page in the browser.

How can I tell Mocha to only run this specific test in the browser and not in node.js?

4

1 回答 1

2
if(window && window.document){ runBrowserOnlyTests(); } //?

哎呀。忘记先检查窗口是否存在。抱歉,我没听清楚。您可以只检查全局的“文档”,但在这种情况下最好是显式的,因为文档或窗口很容易成为 Node.js 中的其他变量。如果有人在 Node 中使用文档属性定义了一个名为 window 的对象,那是无知的。虽然我想如果你担心的话你可以检查构造函数名称,但这让我觉得足够了,特别是因为我假设节点模块都有自己的全局对象,或者它们不会太多指向 require 方法。(如果我错了,有人纠正我)

于 2013-06-19T00:58:35.980 回答