目前我正在使用以下命令运行我的测试,并在测试调用期间给出超时值。去测试 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以防止触发默认测试超时。
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报
0/150
提交
取消