查找所有 'public void' 未使用“@Test”注释的方法
Find all 'public void' methods not annotated with '@Test'
我想对我的测试执行结构搜索,以检测所有看起来像测试但未使用 @Test
注释的方法。
我尝试使用此模式但没有成功(未找到匹配代码):
@$Annotation$ public void $method$()
$Annotation$ - text like: ^Test$, min occurs: 0, max occurs: 0
$method$ - text like: should|test, min occurs: 1, max occurs: 1
我做错了什么?
看来,您也必须尝试为您的模式提供 class,就像在模板中所做的那样:
class $Class$ {
@$Annotation$( )
$MethodType$ $MethodName$($ParameterType$ $ParameterName$);
}
此外,您必须将 $method$
变量更改为 should.*|test.*
之类的变量,以不只接受整个单词。
我已经使用 IntelliJ Idea 15 对其进行了测试,它适用于以下方法:
public void testSomething() {
}
public void shouldSomething() {
}
仅当搜索模板中提供了 $Class$
并且方法名称正则表达式包含 .*
以匹配任何名称以 test
或 should
开头的方法时。
您也可以在 JUnit 4 class 检查中尝试 旧式 JUnit 测试方法。此检查检测看起来像测试但未使用 @Test
.
注释的方法
我想对我的测试执行结构搜索,以检测所有看起来像测试但未使用 @Test
注释的方法。
我尝试使用此模式但没有成功(未找到匹配代码):
@$Annotation$ public void $method$()
$Annotation$ - text like: ^Test$, min occurs: 0, max occurs: 0
$method$ - text like: should|test, min occurs: 1, max occurs: 1
我做错了什么?
看来,您也必须尝试为您的模式提供 class,就像在模板中所做的那样:
class $Class$ {
@$Annotation$( )
$MethodType$ $MethodName$($ParameterType$ $ParameterName$);
}
此外,您必须将 $method$
变量更改为 should.*|test.*
之类的变量,以不只接受整个单词。
我已经使用 IntelliJ Idea 15 对其进行了测试,它适用于以下方法:
public void testSomething() {
}
public void shouldSomething() {
}
仅当搜索模板中提供了 $Class$
并且方法名称正则表达式包含 .*
以匹配任何名称以 test
或 should
开头的方法时。
您也可以在 JUnit 4 class 检查中尝试 旧式 JUnit 测试方法。此检查检测看起来像测试但未使用 @Test
.