Что означает покрытие кода и как оно работает в Xcode 10? - PullRequest
0 голосов
/ 31 января 2019

Меня немного смущают отчеты о покрытии кода, сгенерированные Xcode 10.1.

У меня три тестовых файла;два модульных теста один и один пользовательский интерфейс.Ни у одного из них еще нет написанных тестов, и я удалил тесты по умолчанию.

Однако, когда я запускаю тесты, отчет о покрытии кода не является нулевым и дает мне, например, 100% покрытие кода для func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int (мое приложение имеет табличное представление с 6 или 7 строками).

Вопрос

Как это работает?В моей памяти (более старые версии Xcode) покрытие кода показывало, какие методы тестируются тестами.Здесь нет тестов, почему покрытие кода не равно нулю?

Примечание: параметры схемы для покрытия кода: Gather coverage for some targets, а цель является основной целью приложения, а нецели теста

1 Ответ

0 голосов
/ 03 февраля 2019

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

Чтобы избежать этого, используйте для тестирования отдельный делегат приложения.См. Как легко переключать делегата приложения для iOS для тестирования

...