【发布时间】:2019-05-27 10:35:40
【问题描述】:
我正在为我的代码编写一个 JUnit 测试用例,但 Mockito 总是返回 null
@Component
public class ConnectorImpl {
public String returnString(String inte) {
String x = testing();
return x;
}
public String testing() {
return "test";
}
}
测试类
@RunWith(MockitoJUnitRunner.class)
public class ConnectorImplTest {
@Mock public ConnectorImpl connector;
@Test
public void testLoggedInRefill() throws Exception {
Mockito.when(connector.testing()).thenReturn("test");
String x = connector.returnString("8807");
assertEquals("8807", x);
}
}
当我调用connector.returnString("8807"); 时,它总是返回null。有什么我做错了吗?我是 JUnit 的新手。
【问题讨论】:
-
tl;dr:你想要
Spy,而不是Mock。顺便说一句:不要模拟testing(),你应该模拟对returnString("8807");的调用(然后你可以继续使用Mocks)