【发布时间】:2019-07-23 22:26:18
【问题描述】:
我有一门课,我正在单元测试。如下所示:
public class classToUT {
public static Event getEvent(String id) {
return getEvent(id, null);
}
private static Event getEvent(String id, String name) {
//do something
logEvent(id, name);
return event;
}
private static void logEvent(String id, string name) {
// do some logging
}
}
我想避免在logEvent 中调用外部实用程序方法。基本上,我只想删除logEvent,但在我的单元测试中调用所有其他方法。如何仅存根这一种方法?
public void UTClass {
@Test
public void testGetEvent() {
assertNotNull(event, classToUt.getEvent(1)); //should not call logEvent
//but call real method for getEvent(1) and getEvent(1, null)
}
}
【问题讨论】:
-
虽然上面的方法可以返回一个值,但我想不出一种方法让它什么都不做()
标签: java unit-testing testing mockito powermock