什么定义了 Intellij 代码覆盖率测试中的 'partial' 覆盖率?
What defines 'partial' coverage in Intellij code coverage tests?
我正在 运行 Java 使用 'tracing'(使用默认的 Intellij 覆盖工具)在 IntelliJ IDEA 中进行代码覆盖的单元测试。我有一个 if 语句总是报告 'partial coverage',即使两个分支都被使用:
其他 if 语句是绿色的,其中两条路径都经过测试,我已经尝试使用方法调用的结果提取变量。谁能解释为什么这行被报告为部分而不是完整的?
如果您有复合条件并且未执行所有条款,则会发生部分承保。例如
if (isEmptyString(location) && isEmptyString(name)) {
return false;
}
如果isEmptyString(location)
returns false
在所有测试用例中,isEmptyString(name)
永远不会执行。因此“部分覆盖”。
您的代码不是这种情况,因此我认为这是覆盖工具中的错误。
我正在 运行 Java 使用 'tracing'(使用默认的 Intellij 覆盖工具)在 IntelliJ IDEA 中进行代码覆盖的单元测试。我有一个 if 语句总是报告 'partial coverage',即使两个分支都被使用:
其他 if 语句是绿色的,其中两条路径都经过测试,我已经尝试使用方法调用的结果提取变量。谁能解释为什么这行被报告为部分而不是完整的?
如果您有复合条件并且未执行所有条款,则会发生部分承保。例如
if (isEmptyString(location) && isEmptyString(name)) {
return false;
}
如果isEmptyString(location)
returns false
在所有测试用例中,isEmptyString(name)
永远不会执行。因此“部分覆盖”。
您的代码不是这种情况,因此我认为这是覆盖工具中的错误。