Как я могу измерить тестовое покрытие CppUnit (на win32 и Unix)?

Пространство имен. Области JavaScript - это функциональный уровень.

21
задан Ned Batchelder 18 November 2008 в 03:07
поделиться

5 ответов

Какой инструмент я должен использовать?

Этот статья описывает другой разочарования разработчиков, ищущие инструменты покрытия кода C++. Конечное решение автора было Покрытие Мишени .

функции Bullseye Coverage :

Что касается сцепления в Вашу непрерывную интеграцию, это зависит, на котором решении CI Вы используете, но можно, вероятно, сцепить инструментарий / измерительные шаги покрытия в make-файл, который Вы используете для автоматизированного тестирования.

<час>

Тестирование Linux по сравнению с Windows?

, Пока весь Ваш тестовый прогон правильно в обеих средах, необходимо быть прекрасным покрытием измерения на одном или другом. (Хотя Мишень появляется для поддержки обеих платформ ). Но почему Вы не делающий непрерывные сборки интеграции в обеих средах?? Если Вы поставляете клиентам в обеих средах тогда Вам потребность для тестирования в обоих.

По этой причине, это кажется, что Вы, возможно, должны были бы иметь два непрерывных настроенные сервера сборки, один для сборки Linux и один для сборки окон. Возможно, это может быть легко выполнено с некоторым программным обеспечением виртуализации как vmware или virtualbox. Вы, возможно, не должны выполнять метрики покрытия кода на обоих OSs, но необходимо определенно выполнять модульные тесты на обоих.

13
ответ дан 29 November 2019 в 21:42
поделиться

Если можно использовать GNU GCC в качестве компилятора, то инструмент gcov работает хорошо. Очень легко полностью автоматизировать целый процесс.

7
ответ дан 29 November 2019 в 21:42
поделиться

Я предполагаю, что должен был определить компилятор - мы используем gcc для Linux и MSVC 6 (да, я знаю, это старо, но он работает (главным образом) на нас) для Win32.

Для этого причины, gcov не будут работать на наши сборки Win32, и Мишень не будет работать на наши сборки Linux.

С другой стороны, возможно, мне только нужно покрытие в одной ОС...

0
ответ дан 29 November 2019 в 21:42
поделиться

Если вы используете набор инструментов GCC, gcov предоставит вам исходную, функциональную статистику и статистику охвата веток. gcov отлично работает с MinGW и Cygwin. Это позволит вам получать статистику охвата, а также генерировать инструментированный исходный код, который позволяет вам визуализировать неисполненный код.

Однако, если вы действительно хотите выпустить из парка красивые отчеты, используйте gcov в сочетании с ] lcov - это то, что вам нужно. lcov предоставит вам столбчатые отчеты с привязкой к файлам и каталогам, статистику функционального охвата и просмотр исходного файла с цветовой кодировкой, чтобы показать охват (зеленый означает выполнение, красный - нет ...).

lcov прост в использовании в Linux, но может потребоваться немного взлома Perl на Cygwin. У меня лично были проблемы с выполнением скриптов (lcov реализован на perl) в Windows. Я'

3
ответ дан 29 November 2019 в 21:42
поделиться

Ознакомьтесь с нашим инструментом SD C ++ Test Coverage . Его можно получить как для GCC, так и для MSVC6.

Он обеспечивает сбор данных зондирования с небольшими накладными расходами, хорошее отображение данных о покрытии, наложенных на ваш код, и полное создание отчета со свертками по охвату в методе / классе / файле / каталоге

РЕДАКТИРОВАТЬ: август 2015: Теперь поддерживает GCC5 и различные диалекты MS через Visual Studio 2015. Чтобы использовать эти инструменты в Linux, вам понадобится Wine, но там инструменты предоставляют встроенные в Linux сценарии sh и пользовательский интерфейс на основе Linux / Java. , так что этот инструмент ощущается как родной инструмент Linux.

2
ответ дан 29 November 2019 в 21:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: