使用 Intern,如何在运行浏览器测试之前在 Node 中运行一些设置代码,但在运行 Node 测试时不运行?我知道我可以在 Intern 之外完全做到这一点,但是有什么是 Intern 的一部分可以处理的吗?
对于更具体的示例:我正在为与 Python 服务器通信的 HTTP 库运行测试。在 Node 中运行时,我可以运行spawn("python", ["app.py"])
以启动服务器。但是,在浏览器中,我需要在浏览器开始运行测试之前运行该命令。
换一种说法:在启动浏览器测试之前,是否有 Intern 的内置方式在 Node 进程中运行一些代码?
默认情况下,node
无论您在哪个环境中运行,实习生都会运行配置的插件。
所以,你可以创建一个插件来挂接到这样的runStart
和runEnd
事件:
intern.on("runStart", () => {
console.log("Starting...");
// Setup code here
});
intern.on("runEnd", () => {
console.log("Ending...");
// Teardown code here
});
这些处理程序将在 Node 进程内运行,因此可以访问所有可用的 Node API。
此外,您可以通过查看以下内容来检测正在测试哪些环境intern.config.environments
:
{
environments: [
{
browserName: 'chrome',
browserVersion: undefined,
version: undefined
}
]
}
通过查看环境,您可以确定是否需要运行设置代码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句