对于 Solr 5,开发人员宣布 Solr 服务器将 soon be a standalone server与过去的 webapp 不同。
我的问题是关于如何为我的集成测试启动一个干净的 Solr 实例,考虑到 Solr 不再是一个 web 应用程序(实际上,目前它仍然是,但这可能很快就会改变)。
将其作为 Web 应用程序进行集成测试非常方便。我们可以使用cargo-maven 插件来部署war 并复制一些配置文件。对于独立的 Solr 服务器,我的选择是什么?
最佳答案
我遇到了同样的问题:一个使用 Solr 4.x 的项目 [1] 和一个由 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
关于maven - Solr 5 与 Maven 的集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31521345/