无法在 spring-data-elasticsearch 的测试中注入存储库

Unable to inject repository in test for spring-data-elasticsearch

无法自动连接 FooRepository,它总是设置为 null

Config.java class

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

测试class

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

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

    @Autowired FooRepository repository;
..
}

查看annotation documentation,是这样使用的:

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

  @Autowired
  private MockIntegrationContext mockIntegrationContext;

}

在你的例子中,注释 @RunWith(SpringRunner.class) 丢失了