Я пишу приложение iOS с поддержкой Core Data. Сначала я пишу код Core Data и тестирую их непосредственно в методах AppDelegate. Получив исходный рабочий код, я решил переместить тестовый код Core Data в XCTest. Это первый раз, когда я использую XCTest, и я подумал, что тесты выполнялись в отдельном процессе, чем приложение iOS, но, очевидно, это не так. Например, тест может получить доступ к контексту управляемого объекта, установленному приложением.
Итак, мой вопрос в каком потоке запускается XCTest? Это основной поток? Мои эксперименты, кажется, указывают на это. Например, тестовые объекты доступа, созданные в основном потоке (например, экземпляр AppDelegate) и Xcode, не жалуются на это. Если да, то мне интересно, кто запланировал проведение теста в основном потоке и как?
Я вижу в консоли журналы, подобные приведенным ниже, но они не указывают основные детали.
2020-01-13 11:34:38.212244+0800 ... Launching with XCTest injected. Preparing to run tests.
2020-01-13 11:34:38.559808+0800 ... Waiting to run tests until the app finishes launching.
Спасибо за любую помощь.