UITesting с помощью GHunit - PullRequest
       4

UITesting с помощью GHunit

2 голосов
/ 06 января 2011

Привет, есть ли учебник или документ, доступный для тестирования GUI с использованием GHunit. и в одном случае для взаимодействия с сервером. Я хочу написать контрольный пример, передав ложное и правильное входные значения на сервер, а затем проверить ответ сервера на основе входных данных. У меня есть эта функциональность в основном проекте. так что любая идея, как написать тест для взаимодействия с сервером

1 Ответ

3 голосов
/ 06 января 2011

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

Для элементов пользовательского интерфейса вы можете проверить, что они созданы, вы можете проверить, что они содержат ожидаемые вами значения, вы можете проверить, что при взаимодействии с ними происходит правильное действие (т. Е. Вызывается метод IBAction, ожидаемый контроллер представления). помещается на текущий контроллер навигации), но вам не нужно выполнять пошаговые действия, такие как анимация или просмотр переходов контроллера, в одном тесте.

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

Ваши тесты должны проверять ваш код, а не то, что UIKit может анимировать представления или что NSURLConnection может отправлять и получать данные, поэтому разрабатывайте свои тесты так, чтобы они фактически проверяли вашу логику и заглушали внешние зависимости тестируемого кода.

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

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