【问题标题】:How to test the time-dependent business logic in spring data and spring data rest projects?如何测试spring data和spring data rest项目中依赖时间的业务逻辑?
【发布时间】:2017-07-25 03:51:11
【问题描述】:

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

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

或者我们有一项任务只能在星期一执行……

【问题讨论】:

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


【解决方案1】:

如果方法依赖于当前日期或时间,则添加当前时间作为参数:

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2017-08-25
  • 1970-01-01
  • 1970-01-01
  • 2019-07-28
  • 2016-04-17
  • 2018-11-19
  • 1970-01-01
  • 2013-09-04
相关资源
最近更新 更多