2015-07-20 85 views
4

對於Solr 5,開發人員宣佈Solr服務器將與過去的webapp相反,即soon be a standalone serverSolr 5與Maven的集成測試

我的問題是關於如何爲我的集成測試啓動一個乾淨的Solr實例,考慮到Solr不再是Web應用程序(事實上,目前它仍然是,但這很快可能會改變)。

有它作爲一個Web應用程序是爲集成測試,相當方便。我們可以使用cargo-maven插件來部署戰爭並複製一些配置文件。我的選擇適用於獨立的Solr服務器?

回答

3

我有同樣的問題:使用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