Я экспериментирую с тестовыми тегами (XCode 7) UI XCTestCase, и я просто наткнулся на проблему с одним UIView, в котором у меня есть UITableView со многими ячейками (4000 +).
Когда приложение работает нормально, отображаются только видимые ячейки и вообще не возникает проблема с производительностью. Однако, если я запустил приложение в контексте записи XCTestCase, и я перехожу к этому экрану, симулятор замерзает, по-видимому, потому что каждая отдельная ячейка отображается так, как если бы она была видимой. Если я попытаюсь выполнить script навигацию вручную, и я запустил XCTestCase, тестовый тест не удался сразу после перехода на этот экран, выход с "ошибкой тестирования пользовательского интерфейса - не удалось получить обновленный снимок", видимо, опять же, потому что все ячейки визуализируются и это не заканчивается вовремя.
Я думаю, что это связано с тем, что тестовая среда создает всю метамодель экрана под дисплеем, добавляя каждую из 4000+ ячеек в иерархию дерева представлений.
Я попытался добавить ожидание, надеясь, что это даст тестовому контейнеру достаточное время для завершения рендеринга всех ячеек, но это не сработает.
Есть ли обходной путь для этого? Можно ли как-то пропустить конструкцию части иерархии дерева пользовательского интерфейса или что-то еще? Моя цель - написать UI-тесты для этого экрана.