测试成功完成后进程挂起

Process hangs after tests complete successfully

我们的测试都已 运行 成功并完成,我们看到了覆盖率摘要并在 table 和 TOTAL: tested X platforms, 0/X tests failed 之后,但是过程似乎挂起。

我曾经能够 运行 他们使用 Intern 3.0.3 但是自从尝试更新版本以来它现在似乎一直挂起(即使我指定版本 3.0.3)...

我知道 Browserstack 存在问题,我们之前也遇到过问题,但是很难判断这是否真的是 Browserstack 问题?覆盖tables显示后是否还在Browserstack?

更新: 现在已经通过对 digdug/BrowserStackTunnel.js 的更新解决了这个问题,看起来它将成为 1.5.0 DigDug 版本的一部分。


我查看了这个,我是实习生的新手,我认为这是一个很好的学习方式。

在花了一些时间跟踪 Intern 的 RunnerExecutor 模块后,我终于进入了 DigDug Tunnel 模块。在各处添加一些 console.log 后,我发现它挂在 (digdug/Tunnel.js:554) 上的那一行:

childProcess.kill('SIGINT');

这一行负责关闭隧道(在我的例子中是到 BrowserStack)。通过简单地从 SIGINT 更改为 SIGTERM,我能够让跑步者干净地退出。

问题是,为什么它不适用于 SIGINT? (根据 wikipedia; it's nearly identical to SIGTERM). The original question mentioned issues with BrowserStack (for ref I'm using v5.1 of the BrowserStackLocal for OS X)所以很可能这里仍然存在问题。但是我看不到关于二进制文件的文档。

就是说,我在 BrowserStack 自动化网站上注意到所有会话都已正确关闭,并且实习生通过 BrowserStack REST API 将运行正确标记为通过/失败等。那么,是否可以实习生内的东西挂在隧道上?

是的,mattjbones 是正确的。 BrowserStackLocal 在发送 SIGINT 后似乎没有终止。但是,我使用他们今天发布的新版本二进制文件 (v5.2) 尝试了 运行 实习生测试,现在一切正常!你们可以试试吗?