首页 > 解决方案 > 如何在长生不老药中模拟当前时间

问题描述

我有一些取决于当前时间的测试,到目前为止还没有找到解决方案。我尝试了一些模拟库,mock但它模拟了整个模块并且失败了。任何帮助将不胜感激(如果我只嘲笑DateTime.utc_now一切都可以)

注意:测试在很大程度上取决于其他DateTimeDate功能,因此模拟整个模块不是一个很好的选择(我也尝试过,但由于非常复杂的情况而失败,我在许多测试中都需要这个)

实际测试:我有两个日期,start date作为end date我要测试的函数的输入。在为测试目的调用该函数之前,我插入了一些与当前周相关的数据(当前 dat 到接下来的 7 天)。现在该函数将获取当前日期时间并检查特定日期(每条记录将告诉它是否适用于一周中的当前日期以及正在迭代的当前时间段范围 -> 开始和结束日期)。例如,一条记录申请mon-> 2:12 到 3:13

标签: datetimetestingelixirecto

解决方案


最适合我需要的解决方案(简单,效果很好并且根据上述要求)是:

定义您自己的功能/服务MyDateTime.utc_now/0并在您的测试中模拟它。—参考


推荐阅读