Невозможно установить значения в NSMutableDictionary в модульных тестах - PullRequest
0 голосов
/ 26 января 2011

Я пишу модульные тесты в тестовой среде GHUnit. У меня есть NSMutableDictionary detailsDict, определенный в моем делегате приложения.

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

В тестовом примере я выделяю init мой appDelegate. Вызовите метод из этого объекта, который устанавливает несколько ключей, но когда я проверяю его значения, он остается пустым.

Что-то я не знаю о модульном тестировании или что мне не хватает ....?

Любые ответы указатели будут высоко оценены.

РЕДАКТИРОВАТЬ: я получил это, я должен был отдельно выделить init переменную detailsDic как это

#ifdef UNIT_TESTING
    detailsDict = [[NSMutableDictionary alloc] init];
#endif

По-прежнему открыты для других ответов о других способах сделать это.

1 Ответ

1 голос
/ 26 января 2011

Вы не можете выделить и инициализировать переменную.Вы можете выделить и инициализировать объект, и вам действительно нужно выделить и инициализировать этот объект NSMutableDictionary где-то .

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

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

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