Я хочу запустить функциональные (UI) тесты для процедуры входа в систему в моем приложении iOS (Xcode 7.2.1).
Поведение приложения заключается в том, что после успешного входа учетные данные пользователя сохраняются для автоматического входа (без отображения экрана входа) при следующих запусках.
Поэтому я настроил последовательность событий пользовательского интерфейса на экране входа в систему, чтобы пройти тест входа в систему при первом запуске приложения в симуляторе iOS. Однако в следующий раз, когда я запущу тесты, они потерпят неудачу, так как экран входа в систему даже не появится, как ожидалось.
Я вижу здесь два варианта, ни один из них не подходит:
- Сбрасывайте содержимое и настройки iOS Simulator с помощью скрипта перед каждым запуском моих тестов. Я попытался добавить фазу
Run Script
в тестовую цельBuild Phases
с помощью:xcrun simctl shutdown booted && xcrun simctl erase all && killall "Simulator"
, и это, похоже, не работает (приложение «Симулятор» не запускается, и тесты зависают). - Включите в
-(void)tearDown
некоторый код, чтобы очистить сохраненные учетные данные пользователя. Этот вариант также не годится, так как он не только запускается между каждым тестовым методом (не для каждого запуска теста), но также кажется, что у меня нет доступа к классуAuthManager
, который я использую для очистки учетных данных пользователя.
Что вы делаете, когда UI-тестируете такие процедуры входа в систему?