为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法动态设置测试超时值

有没有办法动态设置测试超时值

Go
函数式编程 2023-03-29 17:25:02
目前我正在使用以下命令运行我的测试,并在测试调用期间给出超时值。去测试 myModule -run TestSanity -v --race-timeout 10hGolang 测试模块中有没有办法在程序执行期间设置它。就像是,func TestMain(m *testing.M) {    // customTimeout = "10h"    // m.Timeout(customTimeout)   <--- Something like this    code := m.Run()    os.Exit(code)}
查看完整描述

1 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

您可以编写自己的函数来执行此操作:


func panicOnTimeout(d time.Duration) {

    <-time.After(d)

    panic("Test timed out")

}


func TestMain(m *testing.M) {

    go panicOnTimeout(10 * time.Hour) // custom timeout


    code := m.Run()

    os.Exit(code)

}

这应该模拟做什么go test -timeout。一定要通过-timeout 0以防止触发默认测试超时。


查看完整回答
反对 回复 2023-03-29
  • 1 回答
  • 0 关注
  • 79 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信