【问题标题】:Is there a way to process Karma - Angular unit tests in batches?有没有办法批量处理 Karma - Angular 单元测试?
【发布时间】:2017-10-01 14:17:18
【问题描述】:

我们面临一个问题,即我们的测试将在某个时间点后开始失败或运行速度极慢。我在网上看到其他人也面临问题的文章。这些失败的主要原因是我们处理 DOM 时浏览器消耗的内存。 我们正在使用种子项目,它使用 SystemJS 构建我们的应用程序。我们当前的 Angular 版本是 2.2.3。

所以,我正在考虑一种解决方法,我可以并行处理我们的测试运行(即多个 karma 服务器运行,我确实尝试过,但它开始消耗 100% 的 CPU)或批处理。因此,批量小测试运行将确保业力停止并重新开始。

有办法吗?

另外,如果我们能够做到这一点,如何获得一致的覆盖?我们正在使用伊斯坦布尔。

如果您还有其他问题,请告诉我。

例如我们的服务和模型相关测试在 3 秒内运行(500 多个测试),但我们的组件测试 (900+) 需要 15 分钟

【问题讨论】:

  • 我们的团队也对测试分片功能感兴趣。 Karma backlog 中有一个未解决的问题,但它已经过时并且似乎已经失去了动力。 github.com/karma-runner/karma/issues/439
  • 是的,我看过那个帖子。没有太大帮助。如果这个问题得到足够多的选票,它可能会传到一些人的耳朵里。

标签: unit-testing angular karma-runner karma-jasmine karma-coverage


【解决方案1】:

有一个很好的 Karma 插件,它允许分片测试并并行执行它们 - https://www.npmjs.com/package/karma-parallel 我们已将它集成到 AngularJS 和 Angular 4 和 5 项目中。 拥有超过 2000 次测试的代码库是必须的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    • 2013-04-08
    • 1970-01-01
    • 2021-07-10
    相关资源
    最近更新 更多