Quarkus @InjectMock
is not working for Kafka consumer test. The mocked service object is being removed during the test and actual service is being called. How to resolve this?
//Kafka consumer test
@QuarkusTest
public class ConsumerTest {
@InjectMock
TestService service;
@Inject
@Any
InMemoryConnector connector;
public void testEvent() {
Mockito.when(service).test(Mockito.any(Product.class)))
.thenReturn("1234");
InMemorySource source = connector.source("request-in");
source.send(e);
}
}
//Kafka consumer
@Inject
TestService service;
@Incoming("request-in")
@Blocking
@Acknowledgment(Acknowledgment.Strategy.POST_PROCESSING)
public void consume(Event e) {
service.test(....);
}
//TestServiceImpl implements TestService
public String test(Product product) { ...
}
//service interface [TestService]
public String test(Product product);