Как я могу определить, выполняю ли я тест EarlGrey в моем приложении?

В целях тестирования я хочу обойти экран входа в приложение. Я могу сделать это, просто закомментировав код, который выдвигает контроллер представления при запуске тестов. Однако это не идеально. Я придумал лучший способ установить env var в моей схеме и затем выполнить:

if ([NSProcessInfo processInfo].environment[@"TEST"]) { // Running EarlGrey test. }

Я хотел бы знать, есть ли лучший способ определить, выполняю ли я тесты EarlGrey?

1 ответ

Решение

Как и в faq, вы можете использовать конфигурацию сборки, которая позволяет вам добавить проверку вроде:

#if EARLGREY_ENV
  NSLog(@"This is being run in an EarlGrey test.");
#else
  NSLog(@"Not an EarlGrey test.");
#endif

Вы также можете добавить проверку выполнения, как NSClassFromString("EarlGreyImpl") != nil чтобы увидеть, работаете ли вы в среде EarlGrey.

Другие вопросы по тегам