与Maven的集成测试
用Maven實施單元測試是很普通的事情,我們大多數人都熟悉項目結構以及單元測試所在的位置。
但是,集成測試是一種不同的情況,大多數情況下它們具有完全不同的要求。 例如,可以讓您的單元測試在內存數據庫中的h2上運行,但是在集成測試和復雜查詢方面 ,最好針對實際的關系數據庫(如生產中使用的關系數據庫)執行它們。
考慮以上示例,我們的集成測試可能具有不同的配置和依賴性。
因此,我們集成測試的目標是使它們與其他測試分開并分別執行。
關于源目錄中的Maven結構,我們有主要的“文件夾”和測試“文件夾”。
以同樣的方式,我們將添加一個名為“ it”的額外目錄。 “ it”目錄將包含一個用于Java源代碼的Java目錄和一個資源目錄。 與測試目錄的結構相同。
然后,我們應該指導maven構建代碼并將其添加到測試源中。
<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>通過使用構建助手maven插件,我們可以指示maven將額外的測試源目錄添加到我們的構建中。
下一步是指示Maven運行我們的單元測試。 為此,我們將使用Maven 故障安全插件 。
故障安全插件旨在運行集成測試,而Surefire插件旨在運行單元測試。 選擇(failsafe)這個名稱是因為它是surefire的同義詞,也因為它暗示了當它失敗時,它是以安全的方式這樣做的。
<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>然后執行集成測試,我們應該發出。
mvn verify正如預期的那樣,我們的集成測試單獨運行。
綜上所述,我們希望將集成測試與單元測試分開。 我們也希望它們分開運行。 這可以通過使用Maven故障安全插件來實現。
您可以在github上找到示例項目。
翻譯自: https://www.javacodegeeks.com/2018/01/integration-tests-maven.html
總結
以上是生活随笔為你收集整理的与Maven的集成测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 路由器转发IP包的过程路由器是如何实现路
- 下一篇: 使用log4j2免费分配日志记录