日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cargo maven_与Maven 3,Failsafe和Cargo插件的集成测试

發布時間:2023/12/3 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cargo maven_与Maven 3,Failsafe和Cargo插件的集成测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

cargo maven

開箱即用,可以在Maven中進行單元測試。 因此,它也經常用于集成測試。 這樣做的主要缺點是集成測試可能需要花費更多的時間來執行,并且因為沒有人喜歡每次構建都要等待很長時間–只是使用-Dmaven.test.skip=true標志跳過了測試

為了執行與Maven的集成測試,我們應該使用Maven Failsafe插件 。 因此,我們可以通過調用mvn test或使用mvn verify執行集成測試來快速運行單元測試。

集成測試應在盡可能與生產環境相似的環境中運行。 如果您的應用程序是WAR或EAR軟件包,則可以使用Maven Cargo插件來告訴Maven將其部署在應用程序服務器或servlet容器上,并在已部署的應用程序上執行集成測試。

Maven故障安全插件配置

為了啟用集成測試階段,必須將故障安全插件配置添加到pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">...<build><plugins>...<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-failsafe-plugin</artifactId><version>2.12</version><executions><execution><goals><goal>integration-test</goal><goal>verify</goal></goals></execution></executions></plugin></plugins></build>... </project>

現在,當調用mvn verify時,包含測試匹配的所有文件src/test/java/**/*IT.java將在集成測試階段執行。

集成測試不過是使用JUnit或TestNG批注的類來告訴Maven哪種方法是測試,并且應該使用與單元測試相同的方式來聲明。

Maven Cargo插件配置

Cargo插件支持市場上所有主要的應用服務器 。 在我的示例中,我將使用默認的Apache Tomcat 7安裝。

  • Tomcat正在集成前階段啟動
  • tomcat在整合后階段處于停止狀態
<plugin><groupId>org.codehaus.cargo</groupId><artifactId>cargo-maven2-plugin</artifactId><version>1.2.0</version><configuration><container><containerId>tomcat7x</containerId><zipUrlInstaller><url>http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16.zip</url><downloadDir>${project.build.directory}/downloads</downloadDir><extractDir>${project.build.directory}/extracts</extractDir></zipUrlInstaller></container></configuration><executions><execution><id>start-tomcat</id><phase>pre-integration-test</phase><goals><goal>start</goal></goals></execution><execution><id>stop-tomcat</id><phase>post-integration-test</phase><goals><goal>stop</goal></goals></execution></executions> </plugin>

效果很好。 現在,當您第一次執行mvn verify時,您可以看到在集成測試運行之前正在下載并啟動Tomcat。

集成測試類示例

現在,我們終于可以編寫有用的集成測試了–將檢查應用程序是否發送正確的錯誤代碼作為響應。

import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.junit.Test;import java.io.IOException;import static org.fest.assertions.Assertions.assertThat;public class CheckApplicationDeployIT {private static final String URL = "http://localhost:8080/myApp/testURL";@Testpublic void testIfAppIsUp() throws IOException {//givenHttpClient client = new DefaultHttpClient();HttpGet httpget = new HttpGet(URL);//whenHttpResponse response = client.execute(httpget);//thenassertThat(response.getStatusLine().getStatusCode()).isEqualTo(HttpStatus.SC_OK);} }

當然,集成測試應該更復雜,并且實際上要測試行為。 現在,您可以設置Waitr,Selenium或任何其他滿足您最佳需求的解決方案,并創建實際的集成測試。

結論

您是否總是應該在集成測試中測試已部署的應用程序? 它非常有用,但并非總是如此。 如果您的應用程序某種程度上取決于用戶的IP地址,則您將無法在不同的請求中對其進行更改。

但是,如果您的應用程序是具有HTML或REST前端的經典Web應用程序,則強烈建議使用。

參考: 軟件開發之旅博客上來自JCG合作伙伴 Maciej Walkowiak的Maven 3,故障安全和Cargo插件的集成測試 。

翻譯自: https://www.javacodegeeks.com/2013/12/integration-tests-with-maven-3-failsafe-and-cargo-plugin.html

cargo maven

總結

以上是生活随笔為你收集整理的cargo maven_与Maven 3,Failsafe和Cargo插件的集成测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。