我想自动化一些测试,我必须操纵系统时间来检查用 golang 编写的程序的身份验证行为。根据 this post,libfaketime 不适用于 golang。还有另一种方法可以实现我想要用 libfaketime 做的事情吗?
这是来自 github 的 libfaketime 功能的描述。
libfaketime 拦截程序用来检索的各种系统调用 当前日期和时间。然后它报告修改(伪造)的日期和时间(如 由您(用户)指定给这些程序。这意味着您可以修改 程序看到的系统时间,而无需更改系统范围内的时间。
我已经回答了类似的问题here。看看这个 https://github.com/harkaitz/go-faketime/ .
有一个 this 存储库(tkuchiki/faketime)声称能够伪造
time.Now()
功能。我不知道它的工作范围有多广,也没有测试过。但听起来这可能可以解决您的问题。