我已经为 Web API 实现了几个包,每个包都有自己的测试用例。当使用go test ./api/pkgname
测试通过测试每个包时。如果我想一次运行所有测试,go test ./api/...
测试用例总是失败。
在每个测试用例中,我使用DROP SCHEMA public CASCADE
后跟CREATE SCHEMA public
并应用所有迁移重新创建整个模式。测试套件随机报告错误,说关系/表不存在,所以我猜每个测试套件(每个包)以某种方式并行运行,从而弄乱了数据库状态。
我试图传递一些测试标志go test -cpu 1 -parallel 0 ./src/api/...
,但没有成功。
这里的问题可能是并行运行的测试,如果是,我如何强制串行执行?
更新:
目前我使用这个解决方法来运行测试,但我仍然想知道是否有更好的解决方案
find <dir> -type d -exec go test {} \;
倚天杖
相关分类