在使用Intern运行浏览器测试之前,如何在Node中运行一些代码?

问题描述 投票:0回答:1

使用Intern,如何在运行浏览器测试之前在Node中运行一些设置代码,但是在运行Node测试时如何在not中运行?我知道我可以完全在Intern之外做到这一点,但是Intern的一部分可以处理吗?

更具体的例子:我正在测试与Python服务器通信的HTTP库。在Node中运行时,我可以运行spawn("python", ["app.py"])启动服务器。但是,在浏览器中,我需要在浏览器开始运行测试之前运行该命令。

换句话说:在启动浏览器测试之前,Intern是否有内置方法在Node进程中运行某些代码?

intern
1个回答
0
投票

默认情况下,无论您在哪个环境中运行,Intern都将运行为node配置的插件。

因此,您可以创建一个插件来挂接到runStartrunEnd事件,如下所示:

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
    }
  ]
}

通过查看环境,可以确定是否需要运行安装代码。

© www.soinside.com 2019 - 2024. All rights reserved.