【发布时间】:2015-08-20 22:37:23
【问题描述】:
我正在寻找将嵌入式弹性搜索添加到我的 Spring Boot 集成测试的方法。
我查看了弹性搜索集成测试,但它不能与 spring boot 一起使用,因为两者都应该使用不同的测试运行器。
不幸的是,我有一个如下的类测试,它不能正常工作:
java.lang.IllegalStateException:没有线程的上下文信息: 线程[id=1,name=main,state=RUNNABLE,group=main]。这是线程 在一堂课下跑 com.carrotsearch.randomizedtesting.RandomizedRunner 跑步者上下文? 添加@RunWith(类 com.carrotsearch.randomizedtesting.RandomizedRunner.class) 到你的 测试班。确保您的代码访问其中的随机上下文 @BeforeClass 和@AfterClass 边界(例如,静态测试类 不允许初始化器访问随机上下文)。
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = App.class)
@WebAppConfiguration
@IntegrationTest("server.port:0")
public class TestExample extends ElasticsearchIntegrationTest {
TestRestTemplate testRestTemplate = new TestRestTemplate();
@Value("${local.server.port}")
int port;
@Test
public void testOne(){
ResponseEntity<String> results = testRestTemplate.getForEntity(String.format("http://localhost:%d/client/1", port), String.class);
System.out.print(results);
}
}
有没有人有一些想法如何让它们运行或有什么替代方案??
【问题讨论】:
-
我已经看过了。首先我不使用spring-data,其次我需要ES的嵌入式版本。
标签: java elasticsearch spring-boot integration-testing