4

对于 Solr 5,开发人员已经宣布 Solr 服务器将很快成为独立服务器,而不是像过去那样的 web 应用程序。

我的问题是关于如何为我的集成测试启动一个干净的 Solr 实例,考虑到 Solr 不再是 webapp 的事实(实际上,目前它仍然是,但这可能很快就会改变)。

将其作为 webapp 进行集成测试非常方便。我们可以只使用 cargo-maven 插件来部署战争并复制一些配置文件。对于独立的 Solr 服务器,我有哪些选择?

4

1 回答 1

3

我遇到了同样的问题:一个项目 [1] 使用了 Solr 4.x 和一个由 Maven 和 Cargo 管理的大型集成套件。迁移到 Solr 5.3.1 后,我不得不改变我的方法。

其实很简单:每个(TestCase)类都应该扩展

org.apache.solr.SolrJettyTestBase

servlet 引擎不会自动启动,这取决于您。相反,有一个 @AfterClass 方法(如果 Jetty 已启动)在测试方法结束时停止它。

您可以在此处找到一个工作示例 [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

于 2015-10-17T17:07:17.277 回答