如何重新运行失败的测试用例并在以前的覆盖范围内添加覆盖范围?

时间:2018-09-04 07:05:11

标签: java intellij-idea code-coverage

我使用的是Intellij,我正在其中运行测试用例,但由于网络速度较慢,导致某些用例失败,并且得到了一些代码覆盖率。

在我重新运行失败的测试用例之后,测试用例通过了,但是在这些失败的测试用例有了新的覆盖范围之后。

我想将此新的覆盖范围添加到以前的覆盖范围数据中。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

一个不同的非答案,因为我不知道如何直接使用IntelliJ来完成。我也认为在这里使用IDE是错误的答案。

当您使用“基于服务器”的解决方案(例如,依赖于SonarQube或TeamScale之类的工具)时,可以设置环境,以便所有此类覆盖率数据都在中央服务器上收集。然后,该服务器可以告诉您有关“累积”覆盖率结果。

当然,需要更多的思想来设置环境,但是作为回报,您会获得数据的时间表,并为自己提供了更多有关收集/评估此类数据的选项。

除此之外:您真正的问题是您的脆弱测试用例。测试设置应为您提供稳定健壮结果。当网络负载以这种方式影响您时,则您的测试策略是错误的。与其进行依赖于某些网络属性的功能测试(并且无法在严格的响应时间内失败),不如使用

  • 隔离的单元测试(仅执行您的代码,并模拟出对网络,文件系统等的所有依赖性)
  • 专用功能/集成测试。它们确实会使用网络,数据库等,但是 not 在超时时间过长时会失败。