实习生 - 窗口未定义

时间:2015-04-01 02:00:08

标签: javascript unit-testing intern

我在intern-geezer中运行了一系列测试,成功运行了大约20个非常相似的测试。然后突然:

FATAL ERROR
ReferenceError: window is not defined

并且循环停止。我的代码中没有明确调用windowdocument。这是纯粹的JS。我正在使用intern-geezer,2.2.2。错误堆栈中引用的行号绝对没有意义。他们走了。

我已经阅读了从命令切换的建议:

./node_modules/.bin/intern-client config=tests/intern

为:

./node_modules/.bin/intern-runner config=tests/intern

但我不想连接到服务器或打开浏览器(那里出现了一个单独的,奇怪的加载错误,似乎特定于geezer)。我想在命令行中进行此操作。感谢任何帮助,我对实习生完全不熟悉。

2 个答案:

答案 0 :(得分:1)

window是一个浏览器对象,因此它不会在Node中可用。如果您想在节点客户端(intern-client)中独占运行测试,则需要确保您没有使用任何引用浏览器对象的代码(并且没有任何依赖项正在使用){{1 }},documentwindow

如果堆栈跟踪行号已关闭,则可能是代码覆盖率检测。您可以通过将实习配置中的navigator属性设置为excludeInstrumentation来禁用该功能。

答案 1 :(得分:0)

您可能在实习生配置文件中将“Html”设置为记者:

intern.reporters = [
    { id: 'Html' },
    { id: 'JUnit', filename: 'test-reports/quality/functional/junit.xml' },
    ...,
];