在Spring Boot测试中关闭嵌入式Elasticsearch

时间:2016-07-15 21:55:17

标签: java spring elasticsearch spring-boot

默认情况下,Spring Boot将创建一个嵌入式Elasticsearch。可以通过设置spring.data.elasticsearch.cluster-nodes来关闭它。但是,我不确定如何在JUnit测试中执行此操作。例如,我有:

@Slf4j
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(RemoteElasticsearch.class)
@SpringBootApplication(
        scanBasePackageClasses = {
        }
)
@EnableElasticsearchRepositories(basePackages = "com.example.me.repo")
public class RemoteElasticsearch {
    @Inject
    private SomeRepo someRepo;

    @Test
    public void test(){
        someRepo.save(new Something());
    }
}

如果我设置了适当的环境变量(例如spring.data.elasticsearch.cluster-node = host:9300),它将连接到远程elasticsearch。我可以以某种方式直接在此测试中设置此值吗?

1 个答案:

答案 0 :(得分:1)

只需在application.properties中创建第二个src/test/resources文件并禁用spring.data.elasticsearch.cluster-nodes。 Spring Boot将使用此文件代替src/main/resources的PROD配置。