我正在使用gopter进行属性测试,并且我有兴趣通过并行运行独立测试来加速我的测试运行。
我在文档中找不到任何关于t.Parallel()
在我的测试中调用是否安全的参考。虽然,我发现的所有示例都不是真正的测试,它们都是独立的控制台应用程序。
例如,这是我的一项测试 - 添加标记线是否安全?
func Test_NetworkSecurityGroup_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) {
t.Parallel() // Is this safe?
parameters := gopter.DefaultTestParameters()
parameters.MaxSize = 10
properties := gopter.NewProperties(parameters)
properties.Property(
"Round trip from NetworkSecurityGroup to NetworkSecurityGroup via AssignPropertiesToNetworkSecurityGroup & AssignPropertiesFromNetworkSecurityGroup returns original",
prop.ForAll(RunPropertyAssignmentTestForNetworkSecurityGroup, NetworkSecurityGroupGenerator()))
properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout))
}
当呼叫存在时,我没有任何崩溃t.Parallel()
,但我担心在没有一些参考表明这样做可能是安全的情况下继续进行。