AppIntentsTesting: интенты гоняются как в Siri 🤡
🪄 Тестировать интеграцию с Siri так, как её выполняет сама Siri. Новый фреймворк AppIntentsTesting гоняет интенты out-of-process через настоящий стек Siri/Shortcuts — entity-запросы, индексацию Spotlight, даже он-скрин сущности. Без моков и тапов по UI. Сюрприз: это XCTest, а не Swift Testing, и тесты живут в UI Testing bundle. Приложение не импортируется — интенты достаются по строковому имени через IntentDefinitions.
⚠️ Отсюда главный риск: переименовали интент — компилятор не заметит, узнаете на прогоне. Держите имена в константах рядом с тестами. Где он не нужен: чистая логика быстрее проверяется in-process тестом, тапы и экраны — обычная UI-автоматизация, а тест-планы для ОС до 27 не поддерживаются.