2015-05-06 11 views
5

我習慣了在年底如DatabaseConnectionTest.java*Test.java命名我的JUnit集成測試,將它們放置在自己的集成測試目錄:如test/integration/com...JUnit集成的'IT.java'文件名後綴(而不是'Test.java')測試約定嗎?

在加入一個新的項目,我是針對

無,所有的測試都在一個目錄中,我們通過文件名後綴上的模式匹配來區分單元測試和集成測試。

所以我上面的文件將成爲DatabaseConnectionIT.java

現在我可以看到在這個邏輯。測試運行器腳本可以對它正在查找的文件進行模式匹配,並且所有測試都在一個位置。

但我從來沒有聽說過這個約定。

我的問題是:'IT.java'文件名後綴(而不是'Test.java')爲JUnit集成測試一個約定?

+0

在我看來,它好像接口的IN​​T是一個慣例。 –

+0

這是一個你在哪裏的約定,這就夠了。這不是一個通用的約定,例如,我按目錄對測試類型進行分組,所以文件和類名稱沒有時髦的縮寫。 –

+1

這是Maven Failsafe插件識別的[默認模式](http://maven.apache.org/surefire/maven-failsafe-plugin/integration-test-mojo.html#includes)之一,所以它幾乎不會眉毛 - 提高。 ......你的問題到底是什麼? – kryger

回答

7

IT.java後綴是由Maven Failsafe Plugin使用的慣例。測試目錄中所有具有後綴IT的類都由integragion-test階段的此插件執行。 (後綴Test的測試在test階段由Maven Surefire Plugin執行。)

+1

failsafe還將執行帶有'groups'參數中指定的類別註釋的測試https://maven.apache.org/surefire/maven-failsafe-plugin/examples/junit.html – dkatzel