Вы можете написать свою собственную функцию для этого:
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
, чтобы предотвратить запуск тайм-аута по умолчанию.