Доступ к командной строке из XCTest
Представьте, что вы сможете получить доступ к консоли прямо из тела теста. Это может открыть много неочевидных полезных возможностей:
📱Дергать недоступные через XCTest API фичи симулятора – отправку пушей, подмену локации, захват экрана
🎁Настраивать полноценный внешний мок-сервер
💻Выполнять любые действия с macOS через AppleScript
Реализация довольно очевидная – поднимаете локальный HTTP сервер, он дергает нужные команды в консоли, и возвращает их результат обратно в тест.
XCTest works inside a sandbox, which means you literally can’t even stick your nose out of the box. Well, almost. Let’s bypass this limitation and learn how to gain access to the command line from tests.