Я хочу, чтобы мое приложение запускало специальный код (например, сбрасывал свое состояние) при работе в режиме тестирования пользовательского интерфейса. Я просмотрел переменные среды, которые устанавливаются, когда приложение запускается в ходе тестирования пользовательского интерфейса, и не существует каких-либо очевидных параметров, позволяющих отличить приложение, работающее в обычном режиме, от приложения, работающего в режиме тестирования пользовательского интерфейса. Есть ли способ это выяснить?
Два обходных пути, которые меня не устраивают:
Задайте для XCUIApplication.launchEnvironment некоторую переменную, которую я позже проверю в приложении. Это нехорошо, потому что вам придется установить это в методе setUp каждого тестового файла. Я попытался установить переменную среды из настроек схемы, но она не распространяется на само приложение при запуске тестов тестирования пользовательского интерфейса.
Проверьте отсутствие переменной среды __XPC_DYLD_LIBRARY_PATH
Проверьте отсутствие переменной среды __XPC_DYLD_LIBRARY_PATH
код>. Это кажется очень хакерским и может работать только сейчас из-за совпадения в том, как мы настроили параметры целевой сборки.
Я хочу, чтобы мое приложение запускало специальный код (например, сбрасывал свое состояние) при работе в режиме тестирования пользовательского интерфейса. Я просмотрел переменные среды, которые устанавливаются, когда приложение запускается в ходе тестирования пользовательского интерфейса, и не существует каких-либо очевидных параметров, позволяющих отличить приложение, работающее в обычном режиме, от приложения, работающего в режиме тестирования пользовательского интерфейса. Есть ли способ это выяснить?
Два обходных пути, которые меня не устраивают:
[list][*]Задайте для XCUIApplication.launchEnvironment некоторую переменную, которую я позже проверю в приложении. Это нехорошо, потому что вам придется установить это в методе setUp каждого тестового файла. Я попытался установить переменную среды из настроек схемы, но она не распространяется на само приложение при запуске тестов тестирования пользовательского интерфейса. [*]Проверьте отсутствие переменной среды __XPC_DYLD_LIBRARY_PATH [*]Проверьте отсутствие переменной среды __XPC_DYLD_LIBRARY_PATH [*] код>. Это кажется очень хакерским и может работать только сейчас из-за совпадения в том, как мы настроили параметры целевой сборки. [/list]