登录
首页 >  Golang >  Go问答

在运行`go test`时,是否可以统计执行了多少个测试?

来源:stackoverflow

时间:2024-03-11 22:12:25 339浏览 收藏

大家好,今天本人给大家带来文章《在运行`go test`时,是否可以统计执行了多少个测试?》,文中内容主要涉及到,如果你对Golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

问题内容

我想获取使用 go test 运行的测试数量,作为检测所有测试是否正在运行的校验和。由于 Go 依赖文件名和方法名来确定什么是测试,因此很容易输入错误,这意味着测试将被默默地跳过。


解决方案


我认为 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 Protocol)的东西,它适用于任何编程语言:

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,但现在已标记为已存档。

理论要掌握,实操不能落!以上关于《在运行`go test`时,是否可以统计执行了多少个测试?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>