2015-11-12 58 views
3

我想對我的測試執行結構搜索,以檢測所有看起來像測試但未用@Test註釋的方法。查找所有沒有用'@Test'註釋的'public void'方法

我試着用這種模式沒有成功(沒有匹配的代碼中發現):

@$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 

我在做什麼錯?

回答

2

看來,你必須嘗試提供你的模式類也一樣,因爲它在模板的完成:

class $Class$ { 
    @$Annotation$() 
    $MethodType$ $MethodName$($ParameterType$ $ParameterName$); 
} 

此外,您必須將$method$變量更改爲類似should.*|test.*接受不整字只。

我和IntelliJ IDEA的15,它的工作對像的方法測試吧:

public void testSomething() { 

} 

public void shouldSomething() { 

} 
只有

如果$Class$在搜索提供的模板和正則表達式包含.*方法名匹配的任何方法,其中名稱以testshould開頭。

+1

在下一個版本的IntelliJ IDEA中可能沒有周邊類的方法模式。 –

+0

謝謝,它的工作原理,但我不得不用'public void'替換'$ MethodType $',因爲它也匹配'private'方法 –

+0

@MichalKordas不用客氣。是的,我剛插入這個例子,默認情況下它是如何完成的。在測試過程中,我使用了與您提供的相同的模式,但使用了類 – Stanislav

0

您也可以嘗試舊式JUnit測試方法在JUnit 4類檢查。此檢查檢測類似測試的方法,但未用@Test進行註釋。

+0

。不幸的是,這對我並不適用,因爲我的大多數測試用例都是以'should'而不是'test'開始的。 –

相關問題