Swift 为什么在Xcode 10中默认情况下并行测试不可用?

Swift 为什么在Xcode 10中默认情况下并行测试不可用?,swift,xcode,unit-testing,testing,Swift,Xcode,Unit Testing,Testing,我想知道Xcode10是否有并行测试这样好的功能,为什么它默认是关闭的? 如果有任何情况下我最好在测试中关闭此功能?如果您的测试用例以任何方式相互交互,那么并行运行它们将导致间歇性故障。一个非常常见的例子是,单元测试与数据库一起工作,而每个测试并不创建唯一的数据库。开发人员很难仔细考虑测试交互,如果并行运行,许多现有测试套件肯定会失败。谢谢,Rob!所以,如果我将其用于数据库测试,我不应该在测试中使用randomise?如果测试彼此交互,则不应该使用randomise。如果您很小心,您当然可以并

我想知道Xcode10是否有并行测试这样好的功能,为什么它默认是关闭的?
如果有任何情况下我最好在测试中关闭此功能?

如果您的测试用例以任何方式相互交互,那么并行运行它们将导致间歇性故障。一个非常常见的例子是,单元测试与数据库一起工作,而每个测试并不创建唯一的数据库。开发人员很难仔细考虑测试交互,如果并行运行,许多现有测试套件肯定会失败。

谢谢,Rob!所以,如果我将其用于数据库测试,我不应该在测试中使用randomise?如果测试彼此交互,则不应该使用randomise。如果您很小心,您当然可以并行运行数据库测试,理想情况下,测试不应该相互交互。有一个很好的论点是,你应该以并行和随机的顺序运行它们,特别是找到它们相互作用的地方,这样你就可以修复它们。但是……这样做之后,这可能是一项重大投资,您可以花大量时间调试测试,而不是发送代码。找到正确的平衡是一项挑战。如果我是一个初学者,有一个小的代码库,我个人根本不会使用并行测试。谢谢你这么好的解释!如果您的代码库使用了大量的
静态属性,那么并行是个坏主意。经过艰苦的学习