Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot spring启动测试和嵌入式弹性服务器_Spring Boot - Fatal编程技术网

Spring boot spring启动测试和嵌入式弹性服务器

Spring boot spring启动测试和嵌入式弹性服务器,spring-boot,Spring Boot,文档中说,编写@SpringbootTest并不意味着我们加载所有配置 我们应该能够一次测试一个应用程序片段 我有一个案例,其中一个模块与弹性搜索对话,我们在集成测试中启动嵌入式弹性搜索服务器 然而,我很难弄清楚如何定义@Configuration类,如何在测试中加载它们,以及如何确保elasticsearch服务器在所有测试中启动一次,我们应该能够一次测试一部分应用程序 这可以通过在@SpringBootTest注释中提供类来实现。我通常选择这个选项是为了不加载所有内容。比方说 控制器: Sa

文档中说,编写@SpringbootTest并不意味着我们加载所有配置


我们应该能够一次测试一个应用程序片段

我有一个案例,其中一个模块与弹性搜索对话,我们在集成测试中启动嵌入式弹性搜索服务器


然而,我很难弄清楚如何定义@Configuration类,如何在测试中加载它们,以及如何确保elasticsearch服务器在所有测试中启动一次,我们应该能够一次测试一部分应用程序

这可以通过在
@SpringBootTest
注释中提供类来实现。我通常选择这个选项是为了不加载所有内容。比方说

控制器: SampleController->ConsumerService(自动连线)

试验

我确实有很多服务,但它们不会被加载,因此它们的依赖关系会自动连接


如果这不是您想要的,请通过添加一些示例代码来增强您的问题。

我不确定@SpringBootTest。但您可以使用以下模板将elasticsearch与embeddedserver集成

v7.0.0

@ESIntegTestCase.ClusterScope(scope = ESIntegTestCase.Scope.SUITE, numDataNodes = 1, numClientNodes = 0, transportClientRatio = 0, supportsDedicatedMasters = false)
@RunWith(com.carrotsearch.randomizedtesting.RandomizedRunner.class)
public class TestWatsonBulkIT extends ESIntegTestCase {
  @Override
protected boolean addMockHttpTransport() {
    return false;
}
    @Override
protected Settings nodeSettings(int nodeOrdinal) {
    Settings.Builder builder = Settings.builder()
            .put(super.nodeSettings(nodeOrdinal))
            .put(NetworkModule.TRANSPORT_TYPE_KEY, Netty4Plugin.NETTY_HTTP_TRANSPORT_NAME)
            .put(NetworkModule.HTTP_TYPE_KEY, Netty4Plugin.NETTY_HTTP_TRANSPORT_NAME)
            .put(HttpTransportSettings.SETTING_HTTP_PORT.getKey(), 9200)
            .put(HttpTransportSettings.SETTING_HTTP_HOST.getKey(),"127.0.0.1");
    Settings settings = builder.build();
    return settings;
}
@Before
public void setUp() throws Exception {
    beforeClass();
    super.setUp();
}
@Test
public void test_1(){ // your integration test code here }
}

为什么不嘲笑elasticsearch类?并检查
EmbeddedElasticsearchServer
@ESIntegTestCase.ClusterScope(scope = ESIntegTestCase.Scope.SUITE, numDataNodes = 1, numClientNodes = 0, transportClientRatio = 0, supportsDedicatedMasters = false)
@RunWith(com.carrotsearch.randomizedtesting.RandomizedRunner.class)
public class TestWatsonBulkIT extends ESIntegTestCase {
  @Override
protected boolean addMockHttpTransport() {
    return false;
}
    @Override
protected Settings nodeSettings(int nodeOrdinal) {
    Settings.Builder builder = Settings.builder()
            .put(super.nodeSettings(nodeOrdinal))
            .put(NetworkModule.TRANSPORT_TYPE_KEY, Netty4Plugin.NETTY_HTTP_TRANSPORT_NAME)
            .put(NetworkModule.HTTP_TYPE_KEY, Netty4Plugin.NETTY_HTTP_TRANSPORT_NAME)
            .put(HttpTransportSettings.SETTING_HTTP_PORT.getKey(), 9200)
            .put(HttpTransportSettings.SETTING_HTTP_HOST.getKey(),"127.0.0.1");
    Settings settings = builder.build();
    return settings;
}
@Before
public void setUp() throws Exception {
    beforeClass();
    super.setUp();
}
@Test
public void test_1(){ // your integration test code here }
}