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

在运行“go test”时,有没有办法获得运行了多少个测试的计数?

在运行“go test”时,有没有办法获得运行了多少个测试的计数?

Go
慕姐8265434 2022-08-09 20:10:56
我想获取运行测试的数量,作为校验和来检测是否所有测试都在运行。由于 Go 依赖于文件名和方法名称来确定什么是测试,因此很容易键入错误的内容,这意味着测试将被静默地跳过。go test
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

我认为gotestsum工具接近您正在寻找的东西。它是一个包装器,用于打印格式化的测试输出和测试运行的摘要。go test


违约:go test


go test ./...

?       github.com/marco-m/timeit/cmd/sleepit   [no test files]

ok      github.com/marco-m/timeit/cmd/timeit    0.601s

违约:gotestsum


gotestsum 

∅  cmd/sleepit

✓  cmd/timeit (cached)


DONE 11 tests in 0.273s            <== see here

查看文档和内置帮助,它写得很好。


根据我的经验,gotestsum(以及同一组织的其他工具)是好的。对我来说,能够使用标准的Go测试包,没有其他“测试框架”也非常重要。gotestsum允许我这样做。


另一方面,为了真正满足您的要求(打印声明的测试数量并验证该数量是否实际运行),您需要类似TAP的东西,即Test Anything协议,它适用于任何编程语言:


1..4                               <== see here

ok 1 - Input file opened

not ok 2 - First line of the input valid

ok 3 - Read the rest of the file

not ok 4 - Summarized correctly # TODO Not written yet

TAP实际上非常好,很简单。我记得有一个Go端口,tap-go,但现在被标记为存档。


查看完整回答
反对 回复 2022-08-09
  • 1 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

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