Я еще не видел хорошего решения для модульного тестирования, и мне нужно будет найти его в ближайшее время, поэтому я хотел бы увидеть или получить лучший ответ.
Как @tooluser предложил вамможет быть в состоянии предоставить "хорошие" насмешки для объектов UITouch.Поскольку нет общедоступного конструктора для UITouch, поставка «настоящих» экземпляров UITouch является сложной задачей и будет опираться на частные вызовы API.К сожалению, поскольку эти сенсорные имитации должны проходить через код инфраструктуры, который вы не можете видеть или контролировать, вы должны надеяться, что ваши макеты действительно соответствуют всем ожидаемым поведениям UITouches, которые они удваивают (включая любое частное поведение, которое мы не видим).Это заставляет меня нервничать.
Кроме того, вы можете следовать решению @ Sulthan и тестировать свои распознаватели жестов с помощью тестов интеграции вождения пользовательского интерфейса.Это подход, который я использовал до сих пор.Используйте UIAutomation или стороннюю тестовую среду, такую как Frank или KIF , чтобы генерировать взаимодействия с представлениями и утверждать, что распознаватели жестов запускаются, как и ожидалось.Это может, по крайней мере, позволить вам тестировать распознаватель изолированно (даже если не в истинном модульном тесте).
Я обычно хочу иметь несколько интеграционных тестов, чтобы проверить, что взаимодействия между несколькими распознавателями в пользовательских представлениях ведут себя правильнопоэтому я не нахожу этот подход слишком плохим, но было бы неплохо действительно протестировать разработку распознавателя на уровне модулей (для времени выполнения теста, если ничего больше).