maven - Solr 5 与 Maven 的集成测试

标签 maven solr integration-testing solr5

对于 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/

相关文章:

maven - 使用 docker 容器的 Spring Boot 集成测试多模块 maven 应用程序

java - 如何在eclipse中运行这个spring rest maven项目

solr - 使用 ravenDB 进行空间搜索

java - 如何解决scala代码中超出GC过载限制的问题

sorting - 我需要按相关性对从 SOLR 返回的方面进行排序

asp.net-core - 如何在 ASP.NET Core 3.1 中使用简单注入(inject)器进行依赖交换以进行集成测试

unit-testing - 单元测试成为 TDD 的集成测试

android - 无法使用名称中给定版本的 Maven 构建 apk

java - Maven 无法识别 Java 项目中的某些 Kotlin 类

java - 无法在本地存储库中搜索依赖项