Что лучший способ к коду Objective C модульного теста?

используйте что-то вроде:

double step = 1d / 5;

(1d - это бросок, чтобы удвоить)

329
задан Jack Bashford 21 October 2018 в 14:35
поделиться

12 ответов

XCode включает XCTest, который подобен OCUnit, платформа поблочного тестирования Objective C, и имеет полную поддержку выполнения находящихся в XCTest модульных тестов как часть процесса сборки Вашего проекта. Поддержка поблочного тестирования XCode описана в Обзор XCode: Используя Модульные тесты .

Назад в XCode 2 дня, я записал ряд сообщений блога о том, как выполнить некоторые общие задачи с поблочным тестированием XCode:

Несмотря на использование OCUnit, а не XCTest, понятия являются в основном тем же.

Наконец, я также записал несколько сообщений о том, как тестам записи на пользовательские интерфейсы Какао; путем Какао структурировано, делает его относительно простым, потому что Вы не должны вращать цикл событий или что-либо как этот в большинстве случаев.

Это позволяет сделать разработку через тестирование для не только Ваш код образцового уровня, но также и Ваш уровень контроллера и даже код уровня представления.

317
ответ дан Chris Hanson 23 November 2019 в 00:48
поделиться

Sen:te (создатель среды тестирования, включенной с XCode), объясняет, как использовать OCUnit с проектом iPhone: simple-iphone-ipad-unit-test.

7
ответ дан NANNAV 23 November 2019 в 00:48
поделиться

Я также рекомендовал бы использовать инструменты покрытия для наблюдения, какая часть кода покрыты модульными тестами и которые не являются. Основная строка и покрытие кода ответвления могут быть сгенерированы с инструмент GCOV . Если Вы хотите генерировать хорошее покрытие HTML, сообщает, что существует LCOV и ZCOV, которые делают просто это.

10
ответ дан Nikita Zhuk 23 November 2019 в 00:48
поделиться

Обратите внимание, что Google Toolbox for Mac (GTM), проект просто расширяется/увеличивает платформу SenTestingKit Apple (который является, саму на основе OCUnit). Поскольку они говорят относительно стройплощадки:

GTM имеет несколько улучшений к стандартному SenTestingKit, разрешающему Вам сделать поблочное тестирование UI, автоматизировал обязательное поблочное тестирование, отслеживание журнала и поблочное тестирование на iPhone, а также инструментах для того, чтобы сделать статическое испытание и динамическое тестирование Вашего кода.

Примечание следующий комментарий о тестировании пользовательского интерфейса:

GTM имеет обширную поддержку тестов блока интерфейса пользователя. Это поддерживает тестирование и обработка изображений и внутреннее состояние почти всех стандартных объектов пользовательского интерфейса Cocoa/UIKit, и помогает Вам расширить эту поддержку Вашим собственным объектам пользовательского интерфейса.

Видят их" Проверочное испытание Кода и Поблочное тестирование " страница для получения инструкций относительно того, как использовать его.

12
ответ дан Clint Harris 23 November 2019 в 00:48
поделиться

Выезд OCUnit. Сеть разработчиков Apple имеет большое введение .

13
ответ дан Mike Caron 23 November 2019 в 00:48
поделиться

Я начал использовать буровую установку тестирования панели инструментов Google для iPhone и его разработку большого для меня.

google-toolbox-for-mac

18
ответ дан Ryan Townshend 23 November 2019 в 00:48
поделиться

Выезд GHUnit Gabriel Handford:

"Цели GHUnit:

модульные тесты Выполнений в XCode, позволяя Вам полностью использовать Отладчик XCode. Простой GUI, чтобы помочь Вам визуализировать свои тесты. Покажите отслеживания стека. Будьте устанавливаемыми, поскольку платформа (для приложений Какао) с простым (или не) предназначается для установки; или легкий к пакету в Ваш проект iPhone".

50
ответ дан Paul Robinson 23 November 2019 в 00:48
поделиться

Я рекомендую gh-единицу, она имеет хороший GUI для результатов испытаний.

http://github.com/gabriel/gh-unit/tree/master

7
ответ дан Joel Levin 23 November 2019 в 00:48
поделиться

Я пришел к выводу, что GHUnit - это наиболее продвинутая среда тестирования для Objective-C. Я сделал обзор фреймворков для тестирования в своем блоге. Он является наиболее гибким с точки зрения развертывания (iphone, симулятор или Mac OS) и возможностей утверждения. Поскольку он основан на GTM, он наследует все преимущества GTM по сравнению с SenTestingKit, но также добавляет намного больше. Еще одним преимуществом является то, что он очень активно поддерживается.

Я приложил усилия для интеграции OCMock в GHUnit, он отлично работает! Вы можете получить код на github .

12
ответ дан 23 November 2019 в 00:48
поделиться

Мэтт Галлахер из "Какао с любовью" имеет очень хорошую статью по блочному тестированию.

6
ответ дан 23 November 2019 в 00:48
поделиться

Я использую SimpleUnitTest, работает с библиотеками iPhone и iPad.

http://cbess.blogspot.com/2010/05/simple-iphone-ipad-unit-test.html

Он поставляется с шаблоном Xcode модульного теста для простого добавления класса модульного теста. Обертывает GTM.

Вы можете буквально перетащить его в активный проект и начать добавлять модульные тесты в течение 3 минут (или меньше).

4
ответ дан 23 November 2019 в 00:48
поделиться

Поддержка Unit Testing, встроенная в xcode (за простоту настройки) в сочетании с ocrunner (за некоторые автотесты/Growl) в настоящее время является моей любимой настройкой Obj-C Unit Testing.

7
ответ дан 23 November 2019 в 00:48
поделиться