gpt4 book ai didi

java - Cobertura 拒绝承认代码已被覆盖

转载 作者:行者123 更新时间:2023-12-02 05:36:49 25 4
gpt4 key购买 nike

我正在使用 Maven (2) Cobertura 插件来创建代码覆盖率报告,并且我在方法中使用了以下 stub :

try {
System.exit(0);
} catch (final SecurityException exception) {
exception.printStackTrace();
}
System.err.println("The program never exited!");

我知道我需要记录异常等,但这不是现在的重点...Cobertura 拒绝承认打印堆栈跟踪后的行已被覆盖。也就是说,System.err.println 语句之前带有“}”的行未显示为被覆盖。之前,该方法的结束大括号并未显示为被覆盖,因此出现了 System.err 语句。知道如何让 cobertura 的 maven 插件相信,由于 System.err.println 语句已被覆盖,因此结束大括号也必须已被覆盖?

哦,是的,我使用模拟安全管理器来抛出安全异常,因为这是我发现的让测试在 System.exit 调用后继续执行的最简单方法。

最佳答案

我会查看覆盖率报告。仔细检查我的测试。请注意,代码确实已被覆盖,不必担心达到 100%。代码覆盖率最好用于查找您在测试中可能忽略的区域,但仅仅专注于获得 100% 覆盖率作为目标是一个坏习惯,它可能会导致您仅仅因为工具显示而跳过需要编写的测试100%。使用该工具来做它能做的事情,但不要陷入让工具定义您做什么的陷阱。

关于java - Cobertura 拒绝承认代码已被覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/196468/

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