【发布时间】:2022-01-19 00:42:18
【问题描述】:
我们的部分代码是时间敏感的,我们需要能够保留一些东西,然后在 30-60 秒等内释放它,我们可以这样做 time.Sleep(60 * time.Second)
我刚刚实现了时间接口,并且在测试期间使用了时间接口的存根实现,类似于this golang-nuts discussion。
但是,time.Now() 在多个站点中被调用,这意味着我们需要传递一个变量来跟踪我们实际睡了多少时间。
我想知道是否有另一种方法可以在全球范围内存根 time.Now()。是否可以进行系统调用来更改系统时钟?
也许我们可以编写自己的时间包,它基本上包含时间包但允许我们更改它?
我们当前的实现运行良好,我是一个围棋初学者,我很想知道是否有人有其他想法?
【问题讨论】:
标签: unit-testing go