2013-05-15 119 views
0

我有一個簡單的遊戲,它由兩個項目組成:客戶端和服務器。現在我想測試它們是否正確交互。
安裝程序是:一個Maven-parent項目,以及服務器/客戶端作爲子模塊。如何測試服務器端客戶端(Java/Maven)

我現在沒有如何測試交互:我能夠在junit測試或集成測試中以某種方式啓動兩個項目(具體如何?)?所以我可以聽一個項目輸出驗證並將它發送給其他人?或者我應該換一種方式?

回答

0

這聽起來像是一個集成測試的好例子。

  • 創建第三個行家模塊調用IntegrationTests
  • 使用Maven的輪廓integrationtests與-Dintegrationtests激活它在客戶端和服務器模塊
  • 拉爲依賴關係在新模塊中:我想如下做到這一點
  • 寫使用JUnit我的集成測試(@Before,@測試等)

隨着葉夫根尼建議,當然你可以把集成測試在existi之一ng模塊,而我的建議是將其分成第三個模塊。

如果您需要關於如何使用maven配置文件進行集成測試的幫助,只需在Google左右,或隨時詢問您是否有特定問題。

祝你好運。

+0

Thx,我跟着http://docs.codehaus.org/display/MAVENUSER/Maven+and+Integration+Testing,但它只是描述了一個服務器插件。我怎樣才能開始我自己的? – user2368505

+0

您正在閱讀關於'maven-failsafe-plugin'的文章。要使用它或任何其他插件,只需在您的pom.xml中配置它,並在''和''下構建您的maven項目('clean install')。我自己,我只是使用'maven-surefire-plugin',因爲當測試中斷時它會失敗。無論哪種方式,能夠使用'-Dintegrationtests'指定集成測試是否運行是很好的。 – vikingsteve

0

通常,您可以從測試中啓動服務器,並從測試模擬客戶端行爲發送請求,並檢查服務器的響應是否符合您的期望。

1

對於integeation測試,創建一個單獨的pom將兩個項目添加爲測試依賴項。然後在測試開始前使用testng beforeclass鉤子或maven failafe插件鉤子啓動服務器,並在測試後關閉服務器。