我有一个文件,其中包含项目的规则.我希望我的单元测试方法可以在其名称中加下划线.喜欢myMethod_should_call_someClass_someMehod.目前我有一个配置,它适用于项目中的所有文件.
我的问题是有可能以某种方式配置checkstyle,因此,例如,我为所有以*Test.java.结尾的文件指定特定规则.
目前我找到的唯一解决方案是提供SuppressionFilter和排除所有以*Test.java.结尾的文件.但有没有办法可以MethodNameCheck为测试文件提供不同格式的不同模块?
bar*_*uin 19
您必须定义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>
Run Code Online (Sandbox Code Playgroud)
接下来,必须针对测试方法禁止常规检查,反之亦然.只有在您有区分这两种类的标准时,这才有效.我使用Maven目录约定,它将常规类放在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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1295 次 |
| 最近记录: |