XCode - покрытие кода? - PullRequest
       3

XCode - покрытие кода?

22 голосов
/ 02 мая 2011

Мне нужно покрытие кода для моего приложения для iphone.

Может кто-нибудь предоставить подробную информацию о том, как получить покрытие кода для Xcode 4?

Спасибо

Ответы [ 3 ]

10 голосов
/ 04 мая 2011

У меня есть запись в моем блоге , которая охватывает именно эту тему.

Он предоставляет пошаговое руководство о том, как включить GCOV в Xcode 4, а также о том, как использовать CoverStory для отображения результатов.

9 голосов
/ 02 мая 2011

Эти шаги помогут.

  1. Создание новой конфигурации сборки («Покрытие»), дублированной из конфигурации «Отладка».

  2. Откройте настройки сборки для основной цели, убедитесь, что выбрана ваша новая конфигурация, и:

    Enable “Generate Test Coverage Files”
    Enable “Instrument Program Flow”
    Add “-lgcov” to “Other Linker Flags”
    
  3. Скомпилируйте приложение в режиме покрытия.

  4. Проверьте файлы .gcno из папки пакета приложения.

    Покрытие-iphonesimulator / applicationname.build / Объекты-нормальные

    открыть файлы .gcno с CoverStory. Скачать CoverStory от
    http://code.google.com/p/coverstory/downloads/list

Справочные сайты

3 голосов
/ 21 сентября 2012

Я не смог найти хороший пример этого, так что, надеюсь, это поможет кому-то еще.

Если вы хотите сгенерировать HTML из своего покрытия кода (как только вы получите ваши файлы .gcda), вы можете установить lcov и использовать эти команды:

function generate-codecoverage-html() {
    if [[ $1 == "-h" || ! $# -eq 2 ]]; then
        echo "    usage: $0 path/to/codecoverage/dir/ path/to/htmldir/"
        return
    fi

    timestamp=$(date)
    tmpfile="/tmp/codecoverage.info-$date"
    lcov --no-checksum --directory "$1" --capture --output-file "$tmpfile"
    genhtml --output-directory  "$2" "$tmpfile"
}
...