В тестах я могу добавить любой компонент (используя статический вложенный класс конфигурации).но как я могу добавить репозитории данных Spring?тогда я не могу вернуться как новый бин, потому что не могу их создать - это интерфейсы
@RunWith(SpringRunner.class)
@DataMongoTest
//@SpringBootTest // or this annotation
public class JTest {
@Configuration
static class Config {
static class TestEntity {
String id;
}
interface TestRepository extends ReactiveMongoRepository<TestEntity, String> {}
}
@Autowired Config.TestRepository testRepository;
@Test
public void test() {}
}
, работающие с @DataMongoTest
, которые дают мне
Причина: java.lang.IllegalStateException: Невозможно извлечь базовые пакеты @EnableAutoConfiguration
, работающие с @SpringBootTest
, дают:
Причина: org.springframework.beans.factory.NoSuchBeanDefinitionException:доступен квалифицирующий компонент типа 'xxx.JTest $ Config $ TestRepository': ожидается, что по крайней мере 1 компонент будет квалифицирован как кандидат для автоматической передачи.Аннотации зависимостей: {@ org.springframework.beans.factory.annotation.Autowired (обязательно = true)}
как добавить новые репозитории в тесты?