iOS: путаница с покрытием кода

Прошел через http://www.cocoanetics.com/2013/10/xcode-coverage/

ссылка на сайт. Будучи новичком в модульном тестировании, я хотел бы знать, как покрытие кода определяет покрываемый исходный код? Мой теоретический вопрос: в классе модели [подклассе NSObject], содержащем три метода M1, M2, M3, мы создаем подкласс XCTestCase с тремя методами модульного тестирования testM1, testM2, testM3. Если мы сможем запустить все эти три метода тестирования и сможем сгенерировать файлы .gcda/.gcno [из покрытия кода].

Мой вопрос: как из этого покрытия кода можно сказать, что модель имеет покрытие более 80%? нужно ли, если возможно, написать модульный тест для каждого метода в модели (ах), и только тогда мы можем прийти к выводу, что покрыто более 80-90% кода. Короче говоря, я хотел бы знать корреляцию между методами модульного тестирования и покрытием кода.


person user2788672    schedule 18.02.2014    source источник


Ответы (1)


Методы модульного тестирования вызывают ваши методы (тестируемый модуль) с учетом различных сценариев и намерением протестировать все (важные) пути кода.

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

person Mihai Timar    schedule 03.09.2014