spring-data-elasticsearch,Java,Spring Boot,spring Data Elasticsearch" /> spring-data-elasticsearch,Java,Spring Boot,spring Data Elasticsearch" />

Java 无法在spring data elasticsearch的测试中插入存储库

Java 无法在spring data elasticsearch的测试中插入存储库,java,spring-boot,spring-data-elasticsearch,Java,Spring Boot,spring Data Elasticsearch,无法自动连接FooRepository,其始终设置为null Config.java类 @Configuration @EnableElasticsearchRepositories(basePackages = "com.foo.repository") public class Config extends AbstractElasticsearchConfiguration { 测试班 @SpringIntegrationTest @ContextConfigurat

无法自动连接FooRepository,其始终设置为null

Config.java类

@Configuration
@EnableElasticsearchRepositories(basePackages = "com.foo.repository")
public class Config extends AbstractElasticsearchConfiguration {
测试班

@SpringIntegrationTest
@ContextConfiguration(classes = { FooRepositoryTest.ConfigTest.class })
public class FooRepositoryTest {

    @Configuration
    @Import({ Config.class })
    @EnableElasticsearchRepositories(basePackages = "com.company.repository")
    static class ConfigTest {}

    @Autowired FooRepository repository;
..
}
请看,以下是它的使用方式:

@RunWith(SpringRunner.class)
@SpringIntegrationTest
public class MyIntegrationTests {

  @Autowired
  private MockIntegrationContext mockIntegrationContext;

}

在您的例子中,注释
@RunWith(SpringRunner.class)
缺失

在哪个包中是存储库?您在测试什么?Sprign Data Elasticsearch库或使用它的应用程序?您使用的是JUnit5?并且确保您使用的是
org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest
?@P.J.Meisch包位于src存储库中,我使用的是org.springframework.integration.test.context.SpringIntegrationTest。我正在测试一个应用程序,它使用Spring数据Elasticsearch库访问EST,这是一个不同的
@SpringIntegrationTest
注释probably@P.J.Meisch我希望他正在测试一个Spring集成项目,因为这不会使sens在另一个上下文中使用该注释
org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest
,用于项目本身的测试,以使用TestContainer和Spring上下文启动测试