В настоящее время я использую GHUnit и OCMock для тестирования моего приложения.Я использую их, потому что мне нравится тот факт, что я могу запустить тестовый код на реальном устройстве.
Способ разработки моего приложения в настоящее время заключается в том, что у меня есть некоторые центральные службы и объекты, доступные через свойства делегата приложения.Например, я централизовал некоторые функции основных данных, к которым может обратиться [UIApplication sharedApplication].coreData
.
Проблема, с которой я столкнулся, заключается в том, что для запуска модульных тестов на устройстве или симуляторе GHUnit использует свой собственныйделегат приложения, который не имеет этих свойств.Так что, если модуль запускает код, который хочет получить к ним доступ, он терпит неудачу.
Поэтому я смотрю на дизайн приложения и задаюсь вопросом, не стоит ли мне изменить способ предоставления этих основных средств.Как вы, ребята, разрабатываете свои приложения?
Одна вещь, которую я рассматриваю, - это извлечь эту функциональность из отдельного объекта, чтобы я мог затем использовать OCMock для имитации его в целях тестирования.
Есть мысли?