2016-08-10 95 views
2

鑑於這些接口不能包含/使用gradle這個

testclient.priority.High 
testclient.priority.Low 

和JUnit類註釋這樣

@Category(testclient.priority.High.class) 
public class MyTest { 
... 
} 
@Category(testclient.priority.Low.class) 
public class MyOtherTest { 
... 
} 

我試圖配置包括/在建排除模式按類別排除JUnit測試類。像這樣的gradle

useJUnit { 
    includeCategories 'testclient.priority.High' 
    excludeCategories 'testclient.priority.Low' 
} 

問題是沒有測試都在運行。準確的語法是如何實現的? 我正在使用gradle 2.14.1並通過「clean build」調用測試。

回答

1

我自己發現了這個問題。我錯過了這樣一個事實,即

High extends Low 

因此排除正確地影響所有註釋測試。擴展意和的build.gradle正確的模式,簡直是:

useJUnit { 
    includeCategories 'testclient.priority.High' 
} 

事實上,有五個優先級別和擴展的依賴是配置類似「運行這個級別或更高級別的一切的簡單方法」。

1

這對Gradle 2.12適合我。我不知道我們各自的環境有什麼不同,但我已將my solution on GitHub作爲參考。

請注意,我已將FastTest.javaSlowTest.java放在測試所在的src/test/java/net/codetojoy文件夾中。

+0

謝謝。我檢查了一切,我的設置(依賴項,存儲庫,應用插件)與您的示例中的相同。我能看到的唯一區別是gradle版本。 –