gpt4 book ai didi

Checkstyle 不同文件的不同规则

转载 作者:行者123 更新时间:2023-12-03 14:51:12 31 4
gpt4 key购买 nike

我有一个包含项目规则的文件。
我希望允许我的单元测试方法在其名称中带有下划线。
点赞myMethod_should_call_someClass_someMehod .目前我有一个配置,它适用于项目中的所有文件。

我的问题是有可能以某种方式配置 checkstyle,因此,例如,我为所有以 *Test.java 结尾的文件指定特定规则。 .

目前我找到的唯一解决方案是提供 SuppressionFilter并排除所有以 *Test.java 结尾的文件.但是有没有办法我可以提供不同的MethodNameCheck测试文件格式不同的模块?

最佳答案

您必须定义 MethodName检查两次,一个实例检查常规方法,另一个检查测试方法。注意 id属性,我们将使用它来将检查限制在各自的域中:

<module name="MethodName">
<property name="id" value="MethodNameRegular"/>
<property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
</module>
<module name="MethodName">
<property name="id" value="MethodNameTest"/>
<property name="format" value="^[a-z][a-zA-Z0-9_]*$"/>
</module>

接下来,必须禁止对测试方法进行定期检查,反之亦然。只有当您有一个标准来区分这两种类时,这才有效。我使用 Maven directory convention ,将常规类(class)置于 src/main 下和 src/test 下的测试类.这是抑制过滤器文件:

<!DOCTYPE suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN"
"http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
<suppressions>
<suppress files="[\\/]src[\\/]test[\\/].*" id="MethodNameRegular" />
<suppress files="[\\/]src[\\/]main[\\/].*" id="MethodNameTest" />
</suppressions>

关于Checkstyle 不同文件的不同规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25894431/

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