我們的測試套件正在快速增長,並且我們已經達到了更多功能測試依賴於其他系統的程度。使用gradle定製JUnit測試檢測
我們使用gradle測試任務來使用include和exclude過濾器來運行這些測試,但這變得很麻煩,因爲我們必須以特定的方式命名我們的測試。
我們目前的做法是命名我們的測試通過以下方式:
class AppleSingleServiceTest {}
class BananaMultiServiceTest {}
class KiwiIntegrationTest {}
,然後包括在相關任務測試使用
include '**/*SingleServiceTest.class'
include '**/*MultiServiceTest.class'
include '**/*IntegrationTest.class'
是否有可能找到測試類中gradle這個由看註釋?
@SingleServiceTest
public class AppleTest {}
我認爲沒有註釋然後將照常運行單元測試的任何測試,所以如果你忘了註釋功能更強大的測試將會失敗
單一的服務測試的一個例子是其中SUT的任何外部依賴性存根
多服務測試的一個例子硒測試是其中一些,但也許不是所有的外部依賴性不掐滅
雖然這不完全是你要求的,但我認爲這個問題可以通過在不同文件夾中放置不同類型的測試來解決。我們就是這麼做的。 JUnit支持使用['@ Category'註釋](http://stackoverflow.com/questions/2176570/how-to-run-all-tests-belonging-to-a-certain-category-in-junit- 4)。這是[尚未支持gradle](http://issues.gradle.org/browse/GRADLE-2111),但你可能能夠解決一些問題。 –
「@ Category」旨在與JUnit套件一起使用。 (是的,我知道這很麻煩)。據我所知,JUnit不提供任何其他方法來按類別過濾。當然,Gradle可以實現自己的基於註釋的過濾方法,類似於Maven所做的。 –
@David這是一種可能性,我們可能會嘗試它;我的首選是指出它對某些元信息(註釋)的測試類型,並將測試的位置留給開發人員(我們目前使用maven樣式的項目結構) –