如何从三叶草覆盖率报告中排除方法(哈希码和等于)?

发布于 2024-12-24 20:00:56 字数 83 浏览 0 评论 0原文

我想从 clover 报告中排除 hashCodeequals
一些配置示例会很好。

I would like to exclude hashCode and equals from clover report.
Some configuration example would be nice.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

提笔落墨 2024-12-31 20:00:56

我想从 clover 报告中排除 hashCode 和 equals。

我谨建议您实际测试这些方法而不是避免它们。如果不符合规范,可能会出现严重的错误。我也曾在编写不佳的 hashCodeequals 方法中遇到过 NPE 和其他问题。这是一个很好的链接,其中包含多种测试方法的方法:

一个单元应如何测试 hashCode-equals 合约?

我们使用以下可以通过单元测试扩展的LocalEqualsHashCodeTest

http://pastebin.com/L03fHAjv

然后定义一个 createInstance() 方法它返回您的类的实例和 createNotEqualInstance() 方法,该方法返回不等于第一个实例的另一个实例。

I would like to exclude hashCode and equals from clover report.

I would respectfully suggest that you actually test these methods instead of avoiding them. Serious bugs can occur if they are not consistent with specifications. I've encountered NPEs and other problems in poorly written hashCode and equals methods as well. Here's a great link with a number of ways that you can test your methods:

How should one unit test the hashCode-equals contract?

We use the following LocalEqualsHashCodeTest which can be extended by a unit test:

http://pastebin.com/L03fHAjv

You then define a createInstance() method which returns an instance of your class and a createNotEqualInstance() method which returns another instance that is not equal to the first one.

很糊涂小朋友 2024-12-31 20:00:56

您必须执行两个步骤:

1) 在中定义方法上下文。包含要匹配的方法的正则表达式的任务,例如:

<clover-setup ...>
    <methodContext name="equals" regexp="public boolean equals\(.*\)"/>
    <methodContext name="hashCode" regexp="public int hashCode\(\)"/>
</clover-setup>

2) 在中定义应从报告中排除哪些方法上下文。任务

<clover-report>
   <current outfile="clover_html" title="My Coverage">
     <format type="html" filter="equals,hashCode"/>
   </current>

更多信息:

You have to do two steps:

1) Define method contexts in the <clover-setup> task containing regular expressions for methods you want to match, for example:

<clover-setup ...>
    <methodContext name="equals" regexp="public boolean equals\(.*\)"/>
    <methodContext name="hashCode" regexp="public int hashCode\(\)"/>
</clover-setup>

2) Define which method contexts shall be excluded from the report in the <clover-report> task

<clover-report>
   <current outfile="clover_html" title="My Coverage">
     <format type="html" filter="equals,hashCode"/>
   </current>

More information:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文