无法在 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)
丢失了
无法自动连接 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)
丢失了