Я пытался использовать только слой dataJpa для тестирования своих репозиториев:
@DataJpaTest
@AutoConfigureTestDatabase(replace = NONE)
@RunWith(SpringRunner.class)
@ActiveProfiles("test")
public class DaoRepositoryTest extends AbstractTestWithPostgresContainer {
private static final Logger log = LoggerFactory.getLogger(DaoRepositoryTest.class);
@Autowired
private DaoRepository daoRepository;
@Test
@Sql("classpath:db/migration/V1.0__init.sql")
public void save_shouldSave() {
final Dao dao = Dao.builder()
.title("Test-title")
.build();
final Dao result = daoRepository.save(orderDao);
assertThat(result.getId()).isNotNull();
log.info("Result: {}", result);
}
}
но у меня есть ConfigurationProperties, которые я использовал в своем приложении (мне все равно, в моем тесте репозитория):
@ConfigurationProperties("redirect-path")
@Data
public class PathProperties {
private Map<String, String> paths;
}
В результате у меня есть это исключение:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type application.config.RedirectPath' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
Я думаю, это потому, что для контекста DataJpaTest не используется мое свойство в yml:
redirect-path:
paths:
test: http://localhost:8090
как я могу сказать пружине, что мне не нужно использовать PathProperties в моем тесте?
Теперь я должен использовать аннотацию @SpringBootTest.