unit-testing - 如何为一小时后函数返回时间编写单元测试

标签 unit-testing go

我有以下函数,它在当前时间添加给定的小时数并在

中返回新时间
func getExpiryTime(hour int) *string {
   const layout = "2006-01-02T15:04:05Z"
   expiryTime := time.Now().Local().Add(time.Hour *time.Duration(hour))
   return aws.String(expiryTime.Format(layout))
}

为此功能编写单元测试的最佳方法是什么?

最佳答案

您可以尝试模拟时间提供程序并在您的模拟中设置 time.Now() 函数以返回您控制的预设值。在生产中,您可以将其转发给实际时间的调用。

关于unit-testing - 如何为一小时后函数返回时间编写单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53654744/

相关文章:

java - 为什么这个 Mockito.mock 对象被调用而不是被模拟?

c++ - 为什么 VS UnitTesting 框架中的 Assert::AreEqual 不能与 std::string 一起使用?

xml - 使用 Go 将 XML 解码为接口(interface)类型?

github - 在导入之前我必须有文件是没有意义的

go - 用于 Golang 的稳定 GCP PubSub API

javascript - 给定流类型的数据生成器

node.js - 模拟 MongoDB 连接以进行 MEAN 应用程序单元测试

unit-testing - Ceedling 不创建 Rakefile

go - go 中的 Fcntl 不起作用

testing - 是否可以动态运行基准测试?