Как установить UserDefaults с XCUItest - PullRequest
0 голосов
/ 03 октября 2019

Я делаю тестирование пользовательского интерфейса iOS с XCUITest. Поскольку у нас нет доступа к приложению, как мы можем установить для приложения значения по умолчанию?

Ответы [ 4 ]

0 голосов
/ 04 октября 2019

Вы, вероятно, можете использовать «Пакет данных приложения». Это когда вы сохраняете состояние своего приложения в контейнере, а затем запускаете тесты с сохраненной средой. Есть много руководств, как это сделать, и это только один из них:

https://www.codementor.io/paulzabelin/xcode-app-data-suni6p4ma

Возможно, это более мощная и слишком сложная вещь, которая вам нужна, но открывает большой мир возможностей;)

0 голосов
/ 03 октября 2019

Это звучит намного сложнее, чем на самом деле, но метод, который сработал для меня, состоит в том, чтобы настроить HTTP-сервер в наборе тестирования, который вы можете использовать для извлечения фиктивных данных в вашем тестовом коде. Я имел успех с Посольством и Послом .

Таким образом, вы передадите аргумент запуска, сообщающий код вашего приложения для загрузки с сервера. В случае UserDefaults хорошо работает вспомогательный класс для выполнения этих конкретных запросов к локальной конечной точке. К сожалению, это означает, что код вашего приложения должен быть настроен для тестирования, но в зависимости от ваших потребностей это может быть хорошим компромиссом.

0 голосов
/ 03 октября 2019

Другое возможное решение для пересечения границы процесса:

Если вы не проводите тестирование устройства, вы можете получить доступ к «SIMULATOR_SHARED_RESOURCES_DIRECTORY» и предоставить данные в файл для использования в вашем тесте.

На реальном устройстве это будет сложнее, потому что вам нужно будет использовать общий контейнер группы.

0 голосов
/ 03 октября 2019

Вы можете передать все необходимые данные, используя аргументы запуска.

Пожалуйста, прочитайте документацию

https://developer.apple.com/documentation/xctest/xcuiapplication/1500477-launcharguments

Другой (и немного более медленный) вариант - использоватьглубокие ссылки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...