Подтвердить что ты не робот

Тесты приложений VS Логические тесты

Так как тесты приложений теперь можно запускать на симуляторе из Xcode, каково было бы преимущество, помимо, возможно, небольшой экономии времени выполнения, еще разделить ваши тесты на логические и прикладные тесты?

Дифференциация согласно Документы Apple:

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

  • Тесты приложений. Эти тесты проверяют функциональность вашего кода в запущенном приложении. Вы можете использовать тесты приложений, чтобы убедиться, что соединения элементов управления (элементов и действий) вашего пользовательского интерфейса остаются на месте и что ваши элементы управления и контроллеры работают правильно с вашей объектной моделью при работе с вашим приложением. Поскольку тесты приложений выполняются только на устройстве, вы также можете использовать эти тесты для тестирования оборудования, например, для получения местоположения устройства.

4b9b3361

Ответ 1

Тесты приложений по сравнению с логическими тестами действительно используются для двух разных задач:

Логические тесты/модульные тесты используются для тестирования очень малого поведения для одного или нескольких методов, например. "Учитывая, что я создаю свой объект таким образом, является ли значение определенного свойства, каким я его ожидаю?"

Тесты приложений, однако, используются для проверки большой картины, например. "Я получаю нужные данные в своем подробном представлении, когда я нажимаю на определенную ячейку просмотра таблицы?"