그래서 저는 흥미로운 상황에 직면:
에서 내 통합 테스트 보낼 데이터를 2 주,그리고 그들은 소비에 의하여 응용 프로그램입니다. 처음에는 userTopic,그럼 당신이 사용될 userOrderTopic.
를 보낼 때에 메시지 테스트,보내는 정말 빠르게,같은 시간입니다. 그러나 때때로의 순서는 소모에 의 응용 프로그램은 다릅니다. (userOrder 항목,다음 userTopic)무엇을 나누기 내에서 테스트니다.
내가 찾는 일부 triks,나는 어떻게 피할 수 있었습니다 그것은 스레드 수면,etc. 하지만 믿는 솔루션입니다.
나는 새로운 카프카,결과적으로 가 KafkaTestUtils. 어떤 방법을 확인하는 메시지를 주제에 소모되었/까지 확인하는 메시지가 소비되었?
무언가 이것을 좋아한다:
//check that message in userTopic was consumed, to have a chance send message to userOrderTopic
KafkaTestUtils.waitUntilBeConsumed(serverBootstrap, "user-consumer", topic, 0, messageToUserTopic)
나
KafkaTestUtils.getNowConsumedMessage(serverBootstrap, "user-consumer", topic, 0)
P.S. 에서 내 통합 테스트가 없 accsess 을 생산자/소비자입니다.
또 어쩌면 봄입니다.kafka/봄입니다.카프카.테스트는 또 다른 도구들에서 그것을 적절한 방법이 있을까?