Dim*_*fis 7 jacoco jacoco-maven-plugin
我试图理解 JaCoCo 规则,但周围没有很多很好的例子。我看到的每个线程都循环使用文档中的相同示例。
我看到 3 个不同的指标:
我理解“元素类型”代表每个规则的范围,这很公平。
CLASS?这与内部类有关吗?但现在,限制和价值如何进入范围?例如:
<limit>
<counter>LINE</counter>
<value>COVEREDRATIO</value>
<minimum>80%</minimum>
</limit>
Run Code Online (Sandbox Code Playgroud)
我可以替换LINE为INSTRUCTION例如吗?如果是,这意味着什么?
还来自文档:
如果限制是指比率,则它必须在 0.0 到 1.0 的范围内,其中小数位数也将决定错误消息的精度。
RATIOvsCOUNT很清楚,但我可以互换使用它们吗?IE:
<limit>
<counter>LINE</counter>
<value>TOTALCOUNT</value>
<minimum>3</minimum>
</limit>
Run Code Online (Sandbox Code Playgroud)
所以,这个问题的一部分关于BUNDLE, SOURCEFILE,刚刚在 JaCoCo 小组中CLASS得到了回答。
本质上,
混乱始于SOURCEFILE和CLASS,但您需要了解一个 Java 文件可以有多个类。例如,这里Shape.java有 2 个类 -Shape和Triangle。
public abstract class Shape {
}
class Triangle extends Shape {
}
Run Code Online (Sandbox Code Playgroud)
SOURCEFILE将检查 的规则Shape.java,同时检查和 的CLASS规则。ShapeTriangle
例如,这是一个规则配置
<rule>
<element>SOURCEFILE</element><!-- Here I change it for SOURCEFILE and CLASS values -->
<limits>
<limit>
<counter>INSTRUCTION</counter>
<value>TOTALCOUNT</value>
<maximum>1</maximum>
</limit>
</limits>
</rule>
Run Code Online (Sandbox Code Playgroud)
以下是配置的输出SOURCEFILE。
[WARNING] Rule violated for source file io/codejournal/maven/jacocodemo/Shape.java: instructions total count is 6, but expected maximum is 1
Run Code Online (Sandbox Code Playgroud)
当您使用配置运行相同的东西时CLASS,输出是针对每个类的。
[WARNING] Rule violated for class io.codejournal.maven.jacocodemo.Triangle: instructions total count is 3, but expected maximum is 1
[WARNING] Rule violated for class io.codejournal.maven.jacocodemo.Shape: instructions total count is 3, but expected maximum is 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5877 次 |
| 最近记录: |