2010-07-19 3 views
6

Есть ли хорошие решения для TDD приложения Objective-c MacOSX?TDD для приложения OSX

EDIT: подробнее

Я бы очень хотел что-то похожее на Rspec из мира Ruby. Является ли XCode встроенным в материал достаточным? Я слышал, что это не так. Я хотел бы что-то, что поддерживает Mocks, Stubs и большинство/все условия тестирования, предоставленные rSpec (или аналогичные условия тестирования).

+1

Что вы подразумеваете под «хорошим»?Как TDD * не * работает на вас? TDD - это концепция; какое «решение» вы ищете? –

+0

@ S.Lott просмотреть править –

+1

«Я слышал, что это не так». Просьба представить некоторые доказательства. Ссылка или ссылка или даже цитата: что-то, чтобы указать, что вы считаете неправильным или отсутствующим. –

ответ

7

Да, TDD прост в использовании с Xcode, поскольку он включает модульное тестирование из коробки (OCUnit был включен в Xcode 2.1). См. Документацию Apple и Xcode Unit Testing Guide для получения более подробной информации о том, как разработать и запустить модульные тесты в Xcode.

1

Лично я использую GHUnit, он имеет прохладное небольшое тестовое приложение и поддерживает такие вещи, как тест Async из коробки. Что-то, что у делегата тяжелый мир iPhone & Mac-программирование бесценен.

Также методы тестирования называются очень похожими на методы OCUnit, поэтому вы выбираете либо затем решаете переключить его довольно легко.

2

Нет ничего похожего на RSpec (пока) для Objective-C, но рамки стиля XUnit SenTest/OCUnit (в комплекте с Xcode), добавление модулей ToolQ для Mac в дополнение к OCUnit и GHUnit - все это очень хорошо. Вы также можете использовать BDD-стиль.

Если вы действительно привержены RSpec, вы можете изучить MacRuby. Хотя в проекте Objective-C может показаться немного тяжелым, вы можете загрузить свои рамки Objective-C и выполнить свои модульные тесты в RSpec через MacRuby.

1

Если вы действительно хотели бы использовать Ruby, то вы можете попробовать мою вилку Бэкона (клон RSpec) под названием MacBacon, которая оптимизирована для сред на основе NSRunloop. Ни один из других не был на момент написания.

Если вы хотите сохранить снимок или работать на iOS, у меня также есть порт того же кода, что и Nu programming language, называемый NuBacon.

Мне все еще нужно написать некоторые вступительные сообщения в блогах, но если вы чувствуете, что авантюрист идет прямо вперед.

Смежные вопросы