gpt4 book ai didi

unit-testing - 运行 "go test"时,有没有办法计算运行了多少测试?

转载 作者:行者123 更新时间:2023-12-05 04:53:01 25 4
gpt4 key购买 nike

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

最佳答案

我认为 gotestsum工具接近您要查找的内容。它是 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 , 但它现在被标记为已存档。

关于unit-testing - 运行 "go test"时,有没有办法计算运行了多少测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66230962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com