TypeScript v2.3.1 破坏了单元测试

标签 typescript phantomjs

我已经使用 TS 运行我的项目几个月了,一直到版本 2.2.2 都没有出现问题。 TypeScript 2.3 最近发布了,我决定更新到最新的补丁版本(v2.3.2)。

不幸的是,这是我的 PhantomJS(运行我的测试)开始崩溃的地方。我还运行了 Wallaby,它在这个最新版本中没有任何问题,并且构建和运行我的应用程序似乎也工作正常。

我尝试降级补丁版本,直到它再次开始工作,并且似乎从 v2.3.0 升级到 v2.3.1 开始出现问题。 在 Github 上比较这两个版本让我可以滚动浏览许多更改,但我似乎找不到此补丁版本更新的更改日志(不适用于列出 here 的整个 v2.3 版本更新,因为 v2.3.0 运行良好)。所以我真的很想知道发生了什么变化(最好是发生了什么变化可能对 PhantomJS 产生影响)。

如果有人感兴趣的话我得到的 PhantomJS 错误:

START:
03 05 2017 09:34:54.160:INFO [karma]: Karma v1.6.0 server started at http://0.0.0.0:9876/
03 05 2017 09:34:54.162:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency
03 05 2017 09:34:54.167:INFO [launcher]: Starting browser PhantomJS
03 05 2017 09:34:55.058:INFO [PhantomJS 2.1.1 (Mac OS X 0.0.0)]: Connected on socket lYV_7fbawdBMHcp0AAAA with id 4050484
03 05 2017 09:35:05.061:WARN [PhantomJS 2.1.1 (Mac OS X 0.0.0)]: Disconnected (1 times), because no message in 10000 ms.
PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
  Disconnected, because no message in 10000 ms.

Finished in 10.005 secs / 0 secs @ 09:35:05 GMT+0200 (CEST)

[09:35:05] 'test' errored after 12 s
[09:35:05] Error: Failed 1 tests.
    at karma.Server.failCount (.../build/tasks/test.js:15:26)
    at removeAllListeners (.../node_modules/karma/lib/server.js:380:7)
    at Server.<anonymous> (.../node_modules/karma/lib/server.js:391:9)
    at Server.g (events.js:286:16)
    at emitNone (events.js:91:20)
    at Server.emit (events.js:185:7)
    at emitCloseNT (net.js:1549:8)
    at _combinedTickCallback (internal/process/next_tick.js:71:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)
npm ERR! Test failed.  See above for more details.

编辑
对 v2.3.0 转译源和 v2.3.1 转译源进行比较,结果完全没有。

编辑2
刚刚尝试使用 v2.3.3 运行它,但得到了相同的结果。

编辑3
尝试使用 ChromeHeadless 而不是 PhantomJS,但同样失败了。看来 PhantomJS 确实不是这里的问题。

编辑4
尝试使用 Karma 1.7.0。仍然没有变化。

最佳答案

您可以检查转译输出以了解工作和非工作之间的差异。

关于TypeScript v2.3.1 破坏了单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43754708/

相关文章:

javascript - 呈现为 PDF 时禁用表格标题在分页符处重复

testing - 使用 Karma 进行 EmberJS 测试 - PhantomJS 出现运行循环错误但 chrome 没有

javascript - 使用 phantomJS 进行端到端测试时确保 IE-9 兼容性

javascript - 通过IPC发送时为"Object has been destroyed"

dependency-injection - Angular 2 - 将依赖项注入(inject)装饰器工厂

ngOnInit() 中 promise 解析的 Angular fakeAsync 测试

javascript - phantomjs 和 run-jasmine.js 超时

reactjs - 类型错误 : Cannot assign to read only property 'paths' of object for compilerOptions in tsconfig

typescript :多括号字段声明

python - 如何使用 Selenium 从搜索结果中提取 Google 链接的 href?