對於Solr 5,開發人員宣佈Solr服務器將與過去的webapp相反,即soon be a standalone server。Solr 5與Maven的集成測試
我的問題是關於如何爲我的集成測試啓動一個乾淨的Solr實例,考慮到Solr不再是Web應用程序(事實上,目前它仍然是,但這很快可能會改變)。
有它作爲一個Web應用程序是爲集成測試,相當方便。我們可以使用cargo-maven插件來部署戰爭並複製一些配置文件。我的選擇適用於獨立的Solr服務器?
對於Solr 5,開發人員宣佈Solr服務器將與過去的webapp相反,即soon be a standalone server。Solr 5與Maven的集成測試
我的問題是關於如何爲我的集成測試啓動一個乾淨的Solr實例,考慮到Solr不再是Web應用程序(事實上,目前它仍然是,但這很快可能會改變)。
有它作爲一個Web應用程序是爲集成測試,相當方便。我們可以使用cargo-maven插件來部署戰爭並複製一些配置文件。我的選擇適用於獨立的Solr服務器?
我有同樣的問題:使用Solr 4.x的項目[1]以及由Maven和Cargo管理的巨大集成套件。遷移到Solr 5.3.1之後,我不得不改變我的方法。
其實這是很簡單的:每個(測試用例)類應該擴展
org.apache.solr.SolrJettyTestBase
servlet引擎不會自動啓動,它給你。相反,還有的是(在碼頭的情況下已經開始)的@AfterClass方法在測試方法結束時停止。
你可以在這裏找到一個工作示例[2]。
[1] https://github.com/agazzarini/SolRDF
[2] https://github.com/agazzarini/SolRDF/blob/master/solrdf/solrdf-integration-tests/src/test/java/org/gazzax/labs/solrdf/integration/IntegrationTestSupertypeLayer.java