Разработка приложений для iPhone / iPad для тестирования - PullRequest
0 голосов
/ 03 ноября 2010

В настоящее время я использую GHUnit и OCMock для тестирования моего приложения.Я использую их, потому что мне нравится тот факт, что я могу запустить тестовый код на реальном устройстве.

Способ разработки моего приложения в настоящее время заключается в том, что у меня есть некоторые центральные службы и объекты, доступные через свойства делегата приложения.Например, я централизовал некоторые функции основных данных, к которым может обратиться [UIApplication sharedApplication].coreData.

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

Поэтому я смотрю на дизайн приложения и задаюсь вопросом, не стоит ли мне изменить способ предоставления этих основных средств.Как вы, ребята, разрабатываете свои приложения?

Одна вещь, которую я рассматриваю, - это извлечь эту функциональность из отдельного объекта, чтобы я мог затем использовать OCMock для имитации его в целях тестирования.

Есть мысли?

Ответы [ 2 ]

0 голосов
/ 04 ноября 2010

и другая техника. На этот раз я расширил делегат приложения iPhone GH Unit test и добавил нужные мне методы и свойства. Затем я изменил основной класс так, чтобы он вызывался вместо оригинала.

Аааа, так много способов достичь одного и того же результата: -)

0 голосов
/ 04 ноября 2010

Подумав немного, я понял, что есть более простое решение.Я создал категорию с интерфейсом делегата приложения, который применяется к делегату приложения GU Unit, используемому при выполнении тестов.Таким образом, я могу запустить тесты и использовать эту категорию для возврата OC Mocks, когда это необходимо.

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