gpt4 book ai didi

unit-testing - 比较单元测试中的当前时间

转载 作者:IT王子 更新时间:2023-10-29 01:12:35 27 4
gpt4 key购买 nike

我目前正在编写一个与字符串进行比较的单元测试。第一个字符串是使用函数生成的。另一个是硬编码的,可以作为引用。我的问题是,创建第一个字符串的函数将当前时间 (time.Now()) 以秒为单位精确注入(inject)到字符串中。目前我对引用做了同样的事情,但这对我来说似乎很难看。我的机器运行速度足够快,可以通过测试,但我不想依赖它。

进行此类测试的一般技术是什么?

最佳答案

您可以通过 init() 函数在您的 _test.go 文件中加入 time.Now() 等函数,这将给出确定性的时间值:

package main

import (
"fmt"
"time"
)

var timeNow = time.Now

func main() {
fmt.Println(timeNow())
}

func init() {
// Uncomment and add to _test.go init()
// timeNow = func() time.Time {
// t, _ := time.Parse("2006-01-02 15:04:05", "2017-01-20 01:02:03")
// return t
// }
}

参见:https://play.golang.org/p/hI6MrQGyDA

关于unit-testing - 比较单元测试中的当前时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44651266/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com