Тесты приложений VS Logic Tests - PullRequest
25 голосов
/ 18 июля 2011

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

дифференциация согласно Apple Docs :

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

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

1 Ответ

4 голосов
/ 18 июля 2011

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...