与Maven的集成测试
用Maven實(shí)施單元測(cè)試是很普通的事情,我們大多數(shù)人都熟悉項(xiàng)目結(jié)構(gòu)以及單元測(cè)試所在的位置。
但是,集成測(cè)試是一種不同的情況,大多數(shù)情況下它們具有完全不同的要求。 例如,可以讓您的單元測(cè)試在內(nèi)存數(shù)據(jù)庫(kù)中的h2上運(yùn)行,但是在集成測(cè)試和復(fù)雜查詢方面 ,最好針對(duì)實(shí)際的關(guān)系數(shù)據(jù)庫(kù)(如生產(chǎn)中使用的關(guān)系數(shù)據(jù)庫(kù))執(zhí)行它們。
考慮以上示例,我們的集成測(cè)試可能具有不同的配置和依賴性。
因此,我們集成測(cè)試的目標(biāo)是使它們與其他測(cè)試分開(kāi)并分別執(zhí)行。
關(guān)于源目錄中的Maven結(jié)構(gòu),我們有主要的“文件夾”和測(cè)試“文件夾”。
以同樣的方式,我們將添加一個(gè)名為“ it”的額外目錄。 “ it”目錄將包含一個(gè)用于Java源代碼的Java目錄和一個(gè)資源目錄。 與測(cè)試目錄的結(jié)構(gòu)相同。
然后,我們應(yīng)該指導(dǎo)maven構(gòu)建代碼并將其添加到測(cè)試源中。
<plugin><groupId>org.codehaus.mojo</groupId><artifactId>build-helper-maven-plugin</artifactId><version>1.5</version><executions><execution><id>add-test-source</id><phase>process-resources</phase><goals><goal>add-test-source</goal></goals><configuration><sources><source>src/it/java</source></sources></configuration></execution></executions></plugin>通過(guò)使用構(gòu)建助手maven插件,我們可以指示maven將額外的測(cè)試源目錄添加到我們的構(gòu)建中。
下一步是指示Maven運(yùn)行我們的單元測(cè)試。 為此,我們將使用Maven 故障安全插件 。
故障安全插件旨在運(yùn)行集成測(cè)試,而Surefire插件旨在運(yùn)行單元測(cè)試。 選擇(failsafe)這個(gè)名稱是因?yàn)樗莝urefire的同義詞,也因?yàn)樗凳玖水?dāng)它失敗時(shí),它是以安全的方式這樣做的。
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-failsafe-plugin</artifactId><version>2.15</version><executions><execution><id>integration-test</id><goals><goal>integration-test</goal></goals></execution><execution><id>verify</id><goals><goal>verify</goal></goals></execution></executions></plugin>然后執(zhí)行集成測(cè)試,我們應(yīng)該發(fā)出。
mvn verify正如預(yù)期的那樣,我們的集成測(cè)試單獨(dú)運(yùn)行。
綜上所述,我們希望將集成測(cè)試與單元測(cè)試分開(kāi)。 我們也希望它們分開(kāi)運(yùn)行。 這可以通過(guò)使用Maven故障安全插件來(lái)實(shí)現(xiàn)。
您可以在github上找到示例項(xiàng)目。
翻譯自: https://www.javacodegeeks.com/2018/01/integration-tests-maven.html
總結(jié)
以上是生活随笔為你收集整理的与Maven的集成测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 路由器转发IP包的过程路由器是如何实现路
- 下一篇: 使用log4j2免费分配日志记录