如果我有不同的包并且每个包都有一个测试文件 ( pkg_test.go),有没有办法确保它们按特定顺序运行?先说pkg1_test.go先执行,然后再执行。我尝试使用 go 频道,但它似乎挂起。
1 回答
HUH函数
TA贡献1836条经验 获得超4个赞
这并不明显,考虑go test ./...
对所有包进行触发器测试......但并行运行
go test -p 1
将按顺序运行测试,但不一定按您需要的顺序运行。
一个简单的脚本调用go test
以正确的预期顺序列出的包会更容易做到。
6 年后更新:最佳实践是不依赖测试顺序。
这么多问题 28592提倡添加-shuffle
和-shuffleseed
洗牌测试。
CL 310033提到:
此 CL 向测试包和
go test
命令添加了一个新标志,用于随机化测试和基准测试的执行顺序。这对于识别测试或基准测试函数之间不需要的依赖关系很有用。
该标志默认关闭。
如果
-shuffle
设置为,on
则系统时钟将用作种子值。如果
-shuffle
设置为整数N
,N
则将用作种子值。在这两种情况下,都会报告种子运行失败,以便以后可以复制。
在提交 cbb3f09 中选择了 Go 1.17(2021 年 8 月)。
请参阅“使用 Go 进行基准测试”。
- 1 回答
- 0 关注
- 202 浏览
添加回答
举报
0/150
提交
取消