1
例如,我有一個包含2個模塊的maven項目。一個REST服務模塊,一個hornetq jms模塊。如何對maven中的所有模塊進行集成測試?
手動方式將是:
- 運行嵌入式碼頭服務器應用
- 運行嵌入式HornetQ服務
- 發送PUT請求發送到REST服務器(REST服務器作爲HornetQ的生產者推請求消息發送到HornetQ的隊列)
- 啓動HornetQ的消費者收到排隊消息
如何使用maven與他們進行集成測試?
例如,我有一個包含2個模塊的maven項目。一個REST服務模塊,一個hornetq jms模塊。如何對maven中的所有模塊進行集成測試?
手動方式將是:
如何使用maven與他們進行集成測試?
答案是maven-failsafe-plugin
(參見文檔http://maven.apache.org/surefire/maven-failsafe-plugin/usage.html)。它可以讓你
pre-integration-test
階段(例如,碼頭或將hornetq)integration-test
階段post-integration-test
階段verify
階段(例如,構建失敗,生成JUnit報告)查看提供的鏈接中的示例。
你的具體情況,你將開始在pre-integration-test
階段的所有服務器(通過使用hornetq-maven-plugin
和jetty-maven-plugin
並可能maven-antrun-plugin
),然後在post-integration-test
階段阻止他們。
我推薦使用JUnit或TestNG框架從Java執行PUT請求,因爲它完美地與maven-failsafe-plugin
集成。如果可能的話,作爲JUnit/TestNG測試的一部分,以編程方式啓動(並停止)hornetq使用者,因爲結果是assert
。
其他一些資源: