Java 无法在spring data elasticsearch的测试中插入存储库
无法自动连接FooRepository,其始终设置为null Config.java类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
@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上下文启动测试