在Spring Data和Spring Data REST项目中测试时间相关业务逻辑的最佳实践是什么? 如何设置不同的系统"时间在一种测试方法中?
例如 - 我们有两种不同的算法来解决相同的任务 - 一种算法用于11-00,另一种算法用于11-00之后。
或者我们的任务必须仅在星期一进行......
答案 0 :(得分:0)
如果方法取决于当前日期或时间,请将当前时间添加为参数:
public void doSomething(LocalDateTime now) {
// does something time-dependent
}
真实代码使用doSomething(LocalDateTime.now())
调用此方法。
测试使用"测试日期"
doSomething(LocalDateTime.of(2017, 3, 5, 13, 37)); // Sunday
doSomething(LocalDateTime.of(2017, 3, 6, 13, 37)); // Monday