gpt4 book ai didi

java - 如何获得 Java 中各个测试的代码覆盖率

转载 作者:行者123 更新时间:2023-12-01 06:13:19 25 4
gpt4 key购买 nike

我有一个测试类,其中有很多测试用例。

我想测量类(class)中单个测试用例的覆盖率。

有什么方法可以获得映射测试用例和覆盖范围的报告。

最佳答案

我们的SD Java Test Coverage工具可以为您提供这些数据。

该工具向被测程序添加一个带有方法的特殊类 TCV:

    TCV.reset();  // resets the test coverage vector
TCV.dump(); // writes vector to file
TCV.setBaseName(String); // record vector file name prefix

如果应用程序调用转储函数,测试覆盖率 vector 将转储到以当前时间戳和提供的 BaseName 命名的文件中。

您可以通过稍微修改您的测试执行框架(无论它是什么)来使用它们来获取特定于测试的 vector 。无论您在何处调用第 N 个测试用例,请添加对 dump 的调用:

    TCV.reset(); // marks everything as "not executed"
tests.nthTestCase();
TCV.setBaseName("nthTestCase");
TCV.dump();

这将生成一个带时间戳的 vector ,该 vector 仅涵盖 nTestCase 执行的代码。

可以通过该工具的 UI 组件找到并显示各个测试用例结果。 UI 组件还可以将所有这些单独的测试用例覆盖率结果组合成总体测试覆盖率结果,以给出传统的“所有测试用例执行的所有内容”结果。或者,您可以比较测试用例覆盖率结果,看看哪些测试用例覆盖了相同的代码,以帮助消除冗余测试用例等。

UI 组件还可以生成测试所覆盖行的报告;这可以编写脚本,因此可以为单独收集的所有测试覆盖 vector 生成一份行覆盖报告。

关于java - 如何获得 Java 中各个测试的代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30943153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com