我的代码中有一个方法可以验证当天是否正常工作。它会为此检查数据库日历。
方法如下所示:
public boolean iBusinessDayToday() {
LocalDate today = LocalDate.now();
//logic with today
}
我需要为此编写单元测试。
我希望单元测试不依赖于工作日。
你认为这个问题需要什么来使用powerMockito来mockLocalDate.now()
?
另一种方法是将时钟传递给该方法:
public boolean iBusinessDayToday() {
return iBusinessDayToday(Clock.systemDefaultZone());
}
@VisibleForTesting
boolean iBusinessDayToday(Clock clock) {
LocalDate today = LocalDate.now(clock);
//logic with today
}
现在您可以测试第二种方法并通过一个固定的时钟 https://docs.oracle.com/javase/8/docs/api/java/time/Clock.html#fixed-java.time.Instant-java.time.ZoneId-- 无需使用模拟框架。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)