查找所有 '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$ 并且方法名称正则表达式包含 .* 以匹配任何名称以 testshould 开头的方法时。

您也可以在 JUnit 4 class 检查中尝试 旧式 JUnit 测试方法。此检查检测看起来像测试但未使用 @Test.

注释的方法