我有一個由多個maven戰爭項目組成的應用程序。Spring Boot中多重應用程序的集成測試
我有另一個maven項目,它使用org.springframework.web.client.RestTemplate調用對手動啓動的tomcat部署的多戰爭應用程序運行JUnit集成測試。
但是,我希望我的集成測試項目能夠在運行我的測試之前真正啓動我的多重戰爭應用程序(在整個套件期間一次)...在spring-boot中!
從我的集成測試項目中,我希望能夠將所有戰爭項目作爲spring-boot應用程序一起運行,每個應用程序都有自己的contextPaths(例如localhost:8080/a用於項目'a',localhost :項目'b'的8080/b等),並且不需要改變原始的戰爭項目(那些(但還沒有)彈簧啓動)。如果我無法讓這些項目在我的集成測試項目中運行,而無需更改它們,那麼我至少要儘量減少在打包的war文件中使用spring-boot依賴項和配置......儘可能多。
我能夠讓我的集成測試項目依賴於一個單一的戰爭項目,啓動它並對它進行測試......但我沒有成功獲取兩個戰爭項目在spring-boot下一起運行在不同的contextPaths下。
歡迎任何建議!
這裏有一些我一直在使用共同把這個資源:
(春季啓動文件)http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html
(博客文章談到測試開始春季應用程序,一旦套件)http://www.nurkiewicz.com/2010/12/speeding-up-spring-integration-tests.html
(建議包括戰爭文件,在集成測試項目POM依賴)http://eureka.ykyuen.info/2009/10/30/maven-dependency-on-jarwar-package/
我困惑。這聽起來像你試圖運行的戰爭沒有使用Spring Boot。假設這是正確的,你爲什麼試圖用Spring Boot來運行它們?我可能誤解了。你可以擴展一下你想要達到的目標嗎?爲什麼你認爲Spring Boot會幫助你實現目標? – 2014-10-02 08:04:45
好問題@AndyWilkinson。你是對的。戰爭不使用彈簧靴,我不打算這樣做。他們將部署在WebLogic中進行生產。但是,我想以完全部署的應用程序(本地和Jenkins CI版本)運行集成測試,這樣我就不必手動啓動tomcat中的所有戰爭。而不是像'mvn測試'。我認爲春季引導可能是一個很好的候選人。這有幫助嗎? – sdoxsee 2014-10-02 13:13:54
我不認爲Spring Boot是這項工作的正確工具。你不能使用Tomcat的Maven插件並將其配置爲部署多個Web應用程序嗎?這樣的事情:http://stackoverflow.com/a/13193937/1384297 – 2014-10-02 14:19:54