如何在“Go test”上设置 go timeout 标志

新手上路,请多包涵
go test -timeout 99999

抛出这个无意义的错误

invalid value "99999" for flag -test.timeout:
time: missing unit in duration 99999

这是一个错误吗?我正在使用go版本go1.3

“帮助”cli 也没有用。它说 -test.timeout=0: if positive, sets an aggregate time limit for all tests 。但是,如果您执行 go test -test.timeout 99999 ,则会出现相同的错误

 -test.timeout=0: if positive, sets an aggregate time limit for all tests

原文由 hey 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.1k
1 个回答

使用有效的 time.ParseDuration 输入。例如,

 $ go test -timeout 300ms

$ go test -timeout 99999s

命令去

测试标志

-timeout t

如果测试运行时间超过 tpanic

包标志

持续时间标志接受对 time.ParseDuration 有效的任何输入。

包车时间

函数解析持续时间

func ParseDuration(s string) (Duration, error)

ParseDuration 解析持续时间字符串。持续时间字符串可能是带符号的十进制数字序列,每个数字都带有可选的分数和单位后缀,例如“ 300ms ”、“ -1.5h ”或“ 2h45m--- ”。 Valid time units are “ ns “, ” us “ (or ” µs “), ” ms “, ” s ”、“ m ”、“ h ”。

原文由 peterSO 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题