Я использую Mockito, чтобы смоделировать метод, но тест выполняется реальным методом.
//Controller
@RestController
public class Controller {
private Utils utils = new Utils();
public String myMethod(String json){
// Stuff gets done
return utils.writeToKafka(topic, json, kafkatemplate, classname);
}
У меня есть тестовый класс, который выглядит так:
//Test
@RunWith(SpringJUnit4ClassRunner.class)
public class ControllerTest {
@Captor
ArgumentCaptor<String> argumentCaptor;
@Test
public void processOSPUpdateRequested_test(){
Controller controller = new Controller();
Utils utils = Mockito.spy(new Utils());
Mockito.doReturn("myResult").when(utils).writeToKafka(anyString(), anyString(), any(), anyString());
String topic = controller.myMethod(myString);
//Some assertions
Моя подпись метода writeToKafka:
public String writeToKafka(String topic, String json, KafkaTemplate<String, String> kafkaTemplate, String classname)
Однако, когда я запускаю тест, writeTokafka не высмеивается! Это работает фактический метод. Почему это происходит? Чего мне не хватает?