默认情况下,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。我可以以某种方式直接在此测试中设置此值吗?
答案 0 :(得分:1)
只需在application.properties
中创建第二个src/test/resources
文件并禁用spring.data.elasticsearch.cluster-nodes
。 Spring Boot将使用此文件代替src/main/resources
的PROD配置。