我正在使用 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!它运行实际的方法。为什么会这样?我错过了什么?
守着星空守着你
相关分类