Я разрабатываю некоторые тесты приложения, которое использует Kafka-streams, которое также использует Spring Boot 1.5, который импортирует версию 1.2 из spring-kafka
.Подробно, я использую KafkaEmbedded
, чтобы не использовать реально работающий экземпляр Kafka.
Во многих примерах в сети я обнаружил, что конфигурация такого рода тестов использует аннотацию @DirtiesContext
, например:в следующем (найдено здесь )
@RunWith(SpringRunner.class)
@SpringBootTest
@DirtiesContext
public class SpringKafkaReceiverTest {
private static final Logger LOGGER = LoggerFactory.getLogger(SpringKafkaReceiverTest.class);
private static String RECEIVER_TOPIC = "receiver.t";
@Autowired
private Receiver receiver;
private KafkaTemplate<String, String> template;
@Autowired
private KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry;
@ClassRule
public static KafkaEmbedded embeddedKafka = new KafkaEmbedded(1, true, RECEIVER_TOPIC);
// Rest of tests body
}
Я немного погуглил, но не могу найти цель, которую стоит использовать @DirtiesContext
.Может кто-нибудь прояснить мне этот вопрос?
Большое спасибо.