如何测试spring数据和spring数据休息项目中与时间相关的业务逻辑?

时间:2017-03-05 08:00:18

标签: spring-boot spring-data spring-data-rest

在Spring Data和Spring Data REST项目中测试时间相关业务逻辑的最佳实践是什么? 如何设置不同的系统"时间在一种测试方法中?

例如 - 我们有两种不同的算法来解决相同的任务 - 一种算法用于11-00,另一种算法用于11-00之后。

或者我们的任务必须仅在星期一进行......

1 个答案:

答案 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