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

标签 javascript node.js mocha.js

我正在使用 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/

相关文章:

javascript - 检测用户拥有何种带宽的最佳方法?

javascript - 使用javascript从cron格式获取日期时间

javascript - 如何使用 Node.js 将字节数组转换为字符串?

node.js - 从 lambda 向 sns 主题发布消息

javascript - 如何获取Mocha#<Test>类型对象的信息

javascript - 是否可以将值按升序排列到标签中

javascript - VueJS路由自动在url中设置一个 '#'

javascript - WebWorker 线程高负载并发测试期间出现段错误

javascript - 未找到 Chai 函数

javascript - 如何在 Mocha 中使用 console.log 语句测试功能?