Jacoco - ''class missed'' 是什么意思?

Jacoco - What does ''class missed'' mean?

我找不到关于 MISSEDCOUNT 的足够信息

<rules>
  <rule implementation="org.jacoco.maven.RuleConfiguration">
    <element>BUNDLE</element>
    <limits>
      <limit implementation="org.jacoco.report.check.Limit">
        <counter>INSTRUCTION</counter>
        <value>COVEREDRATIO</value>
        <minimum>0.80</minimum>
      </limit>
      <limit implementation="org.jacoco.report.check.Limit">
        <counter>CLASS</counter>
        <value>MISSEDCOUNT</value>
        <maximum>0</maximum>
      </limit>
    </limits>
  </rule>
</rules>

我也遇到了错误:

Rule violated for bundle xxxx: classes missed count is 1, but expected maximum is 0)

你能给我一个简单的例子吗?我应该在我的 java 项目中使用这个检查(MISSEDCOUNT)吗?

MISSEDCOUNT指的是branches/classes/etc的个数。 (在这种情况下 classes 是因为您使用了 CLASS)未经过测试。如果有 any class 未测试,则使用值为 0MISSEDCOUNT 将导致构建失败。

这个错误是有道理的,因为听起来你的项目中有 1 个 class 没有经过测试 (classes missed count is 1),但是因为你指定了最大允许的 0 classes 被遗漏 (expected maximum is 0),构建失败。

参见:http://www.eclemma.org/jacoco/trunk/doc/check-mojo.html#rules

是否 "should" 使用 MISSEDCOUNT 检查完全取决于您。如果你想强制执行全面测试,那么是的,我会包括它。如果有一些 classes 由于某种原因根本无法测试,那么您可以随时增加计数。