Так как тесты приложений теперь можно запускать на симуляторе из Xcode, каково было бы преимущество, помимо, возможно, небольшой экономии времени выполнения, еще разделить ваши тесты на логические и прикладные тесты?
Дифференциация согласно Документы Apple:
-
Логические тесты. Эти тесты проверяют правильную функциональность вашего кода в среде чистой комнаты; то есть ваш код не запускается внутри приложения. Логические тесты позволяют собирать очень конкретные тестовые примеры, чтобы реализовать свой код на очень гранулированном уровне (один метод в классе) или как часть рабочего процесса (несколько методов в одном или нескольких классах). Вы можете использовать логические тесты для выполнения стресс-тестирования вашего кода, чтобы обеспечить правильное поведение в экстремальных ситуациях, которые маловероятны в запущенном приложении. Эти тесты помогают вам создавать надежный код, который работает правильно, когда используется таким образом, которого вы не ожидали. Логические тесты - это iOS Simulator SDK; однако приложение не запускается в iOS Simulator: проверяемый код запускается во время фазы сборки соответствующих целей.
-
Тесты приложений. Эти тесты проверяют функциональность вашего кода в запущенном приложении. Вы можете использовать тесты приложений, чтобы убедиться, что соединения элементов управления (элементов и действий) вашего пользовательского интерфейса остаются на месте и что ваши элементы управления и контроллеры работают правильно с вашей объектной моделью при работе с вашим приложением. Поскольку тесты приложений выполняются только на устройстве, вы также можете использовать эти тесты для тестирования оборудования, например, для получения местоположения устройства.