google-тест: покрытие кода

Можно ли получить покрытие кода тестами с использованием тестовой среды Google?


person gruszczy    schedule 01.03.2010    source источник


Ответы (3)


Да, я успешно использовал как бесплатные (gcov), так и коммерческие (CTC++) инструменты. Никаких специальных шагов не требуется, просто следуйте документации.

Более подробную информацию можно найти в этом блоге http://googletesting.blogspot.dk/2014/07/measuring-coverage-at-google.html

person chalup    schedule 01.03.2010
comment
Не забывайте, что Lcov — хороший графический интерфейс для Gcov — ltp.sourceforge.net/coverage/lcov. .php и посмотрите также на ggcov.sourceforge.net/index.html - person Mawg says reinstate Monica; 09.09.2015
comment
Ссылка не объясняет, как интегрировать gcov с gtest. - person Arun; 22.06.2017
comment
Я не вижу реализации. - person user2148571; 21.12.2017

Да, вы можете объединить свое приложение на основе Gtest с поддержкой Gcov/lcov. обратитесь к документации lcov http://ltp.sourceforge.net/coverage/lcov.php

есть одна доступная утилита тестового проекта Linux, которая делает вашу работу очень простой и очень самоинтерпретируемой.

lcov - графический интерфейс GCOV

Скачать из репозитория Ubuntu:

$ sudo apt-get install lcov
  1. Используйте следующие команды в каталоге сборки

    $ lcov --directory ./build/ --capture --output-file ./code_coverage.info -rc lcov_branch_coverage=1
    
  2. Запустите приложение

  3. Создать HTML-отчет

    $ genhtml code_coverage.info --branch-coverage --output-directory ./code_coverage_report/
    

Это будет выглядеть примерно так: http://ltp.sourceforge.net/coverage/lcov/output/index.html

person Jinay Patel    schedule 02.05.2016

(работает только в Windows)

Кажется, этот вопрос все еще активен, так что вот дополнительный вариант. Я только что протестировал Google Tests на нашем решении для покрытия кода (да, я его автор), которое работает в Visual Studio. Проект можно найти по адресу: https://github.com/atlaste/CPPCoverage.

Инструкции: щелкните проект правой кнопкой мыши, запустите покрытие. :-)

Если вы предпочитаете вывод XML (для CI), вы можете вызвать исполняемый файл покрытия вручную.

person atlaste    schedule 19.06.2017
comment
@kevr Как именно? Позвольте мне пояснить: возможно ли получить покрытие кода тестами с использованием тестовой среды Google? -- Да, вы можете, если вы используете этот инструмент и если вас устраивают ограничения [VS/Windows] этого инструмента. Я бы сказал, что это на месте. - person atlaste; 03.04.2020
comment
Это не по теме. Он спрашивал в общем, а не о Visual Studio в Windows. Ответ на общий вопрос должен быть ответом, применимым в общем случае. - person kevr; 10.04.2020
comment
@kevr Если это ваше определение, то мой ответ здесь так же не по теме, как и все остальные ответы здесь. Я имею в виду, да ладно, у одного из них на самом деле есть загрузка из репозитория Ubuntu в ответе - как это может быть более общим или по теме, чем мой ответ? Дело в том, что мой ответ дает именно то, что спрашивает ОП, всего за одну установку и два клика. - person atlaste; 10.04.2020