我有一个包含单元测试的 Go 文件,其中一些单元测试使用一个公共(public)变量。我正在测试的代码中使用了另一个全局变量。所有这些都可能导致问题。
在 Go 中,当我们执行位于同一文件中的测试时,它们如何运行?并行或下一个不会在前一个完成之前开始?
最佳答案
默认情况下,包内的所有测试按顺序运行。
同样默认情况下,所有测试集都是并行运行的。
如果您使用默认值并且有针对公共(public)持久层(如 rdbms)进行测试的不同包,这可能会导致问题。如果您对这种情况有疑问,那么运行 go test ./... -p 1
将阻止不同的测试套件同时运行。
关于unit-testing - Go 中的测试是并行执行还是一个一个执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44325232/