Таким образом, после того, как мы попробовали разные вещи, в том числе отключили распараллеливание тестов, как ранее предлагал Брайан, мы выяснили, что это, по-видимому, связано с наличием нескольких адресатов и распараллеливания .
Существует новый флаг -disable-concurrent-destination-testing
, который можно передать в xcodebuild
, чтобы принудительно запускать несколько пунктов назначения.
Используя этот флаг, мы можем включить как параллелизацию тестов, так и рандомизацию, покатестирование нескольких адресатов, все в одной команде.
xcodebuild -scheme <YourScheme> -destination <DestinationA> -destination <DestinationB> -quiet -disable-concurrent-destination-testing test-without-building
Кажется, это хорошо работает как локально, так и на серверах CI.