All streams
Search
Write a publication
Pull to refresh

Comments 3

Что хуже, любой прописанный mock тоже создаёт новый контекст. Подобный дизайн приводит к тому, что многие делают общий класс для всех интеграционных тестов, который содержит всевозможные моки, и потом наследуются от него.

Очень легко и, имхо, правильно, сразу же с первым интеграционным тестом в проекте закинуть ApplicationContextInitializer, который в первый свой взведёт флаг, а во второй поругается и сделает System.exit(). Главное, чтобы ругался доходчиво.

Иногда это можно обойти с помощью

@Bean
public JavaMailSender javaMailSender() {
    return mock(JavaMailSender.class);
}

Тогда в нужном классе вместо

@MockBean
protected JavaMailSender mailSender;

пишем

@Autowired
protected JavaMailSender mailSender;
Sign up to leave a comment.