查找哪个测试覆盖了哪一行 jacoco
Find which test covers which line jacoco
我正在 运行 对庞大的代码库进行集成测试。在覆盖率报告中,我想知道哪个测试覆盖了代码中的某一行。有没有办法用 jacoco 来做?
JaCoCo 不收集该信息,因此无法报告。
可以想象,您可以 运行 使用 JaCoCo 独立进行每个测试,并且每次都生成一份覆盖率报告,这样每个测试都会显示它测试的确切代码行。 (然后你必须用我想的自定义聚合报告来包装它,你可以在其中从一个测试导航到下一个)。
我知道这对于庞大的代码库和大量测试可能不切实际。
另一个限制是您无法到达 "what are ALL the tests that exercised that line of code ?".
正如@Rogério 所说,其他工具也许能够提供该功能。
以防万一有人还在寻找这个问题的解决方案。
在我的例子中,我使用 Jacoco 编写了一个小的 demo 来生成包含每个测试用例的覆盖行信息的覆盖率报告。基于这个项目结构,我然后简单地编写了一个脚本来自动 运行 个测试用例并收集每个覆盖率报告以获取每个测试覆盖了哪些行的信息。
需要注意的是,这个方案不是最好的方案(测试用例数量多的时候比较费时),只是帮我用Jacoco获取了测试用例的覆盖线信息。
演示请参考https://github.com/chenliushan/JacocoExample
我正在 运行 对庞大的代码库进行集成测试。在覆盖率报告中,我想知道哪个测试覆盖了代码中的某一行。有没有办法用 jacoco 来做?
JaCoCo 不收集该信息,因此无法报告。
可以想象,您可以 运行 使用 JaCoCo 独立进行每个测试,并且每次都生成一份覆盖率报告,这样每个测试都会显示它测试的确切代码行。 (然后你必须用我想的自定义聚合报告来包装它,你可以在其中从一个测试导航到下一个)。
我知道这对于庞大的代码库和大量测试可能不切实际。 另一个限制是您无法到达 "what are ALL the tests that exercised that line of code ?".
正如@Rogério 所说,其他工具也许能够提供该功能。
以防万一有人还在寻找这个问题的解决方案。 在我的例子中,我使用 Jacoco 编写了一个小的 demo 来生成包含每个测试用例的覆盖行信息的覆盖率报告。基于这个项目结构,我然后简单地编写了一个脚本来自动 运行 个测试用例并收集每个覆盖率报告以获取每个测试覆盖了哪些行的信息。 需要注意的是,这个方案不是最好的方案(测试用例数量多的时候比较费时),只是帮我用Jacoco获取了测试用例的覆盖线信息。 演示请参考https://github.com/chenliushan/JacocoExample