Подтвердить что ты не робот

С++ Jenkins QA Stack/Tools

В настоящее время мы создаем стек QA для разработки на С++.

У нас уже есть несколько запущенных экземпляров Jenkins и очень опытный опыт работы с CI-сервером в сочетании с другими языками, такими как java и php.

То, что я прошу, - это указатели на цепочки инструментов, которые можно использовать для разработки С++ с Jenkins.

Более конкретные (примеры java/php в фигурных скобках):

  • Структура , которая тестирует и создает отчеты о покрытии (jUnit/phpUnit)
  • A проверка правил кодирования (checkstyle/phpCodeSniffer)
  • Что-то PMD, которое обнаруживает потенциальные проблемы в базе кода (pmd/phpmd)
  • Больше, если это применимо/необходимо, но эти 3 будут основами, которые я предполагаю?

Bounty edit:

Пока я получил приемлемый ответ на мой вопрос, меня попросили предоставить больше инструментов/вариантов/причин использовать Jenkins для этого проекта.

В прошлом я делал неоптимальные опыты с коммерческими инструментами в этом отношении. (Что вы хотите сохранить эти отчеты? Тогда вам нужно купить дополнительный 10k Bucks/Year плагин, который может генерировать фантазии GRAPHS! Для вас.) Возможно, я ошибаюсь, поэтому, пожалуйста, скажите мне, есть ли я.

Но в основном я ищу полный набор инструментов для использования с Jenkins для разработки на С++ и QA

4b9b3361

Ответ 1

Мы используем Jenkins с C и С++. Это инструменты, которые мы использовали, и я думаю, что вы можете найти полезные. Все они могут использоваться с Дженкинсом:

  • Единая система тестирования - cppunit: выводит xml, который можно напрямую подавать в Jenkins с помощью cppunit плагин
  • Охват: gcov + gcovr дает хорошие отчеты о покрытии
  • Проверка правил кодирования: для этого можно использовать pclint и плагин предупреждений.
  • Mess Detector: не уверен, что вы подразумеваете под беспорядком здесь, но мы используем PMD/CPD для кода проверка дублирования и NSIQ для сложности и LOC

Мы также используем cppcheck для статического анализа.

Надеюсь, что это поможет!

Ответ 2

Мы используем Jenkins с googletest модулем тестирования.

  • Тест-тесты создают jUnit-совместимый xml.
  • Портировано для большинства компиляторов, с которыми вы, вероятно, столкнетесь.

Следуя моей собственной ссылке, я нашел это:

Непрерывный охват кода с помощью gcc, googletest и Hudson

Первые три строки команды просто выполняют сборку. команда в строке 4 выполняет двоичное тестовое приложение, которое мы создали, и выводит сводку результатов теста в XML файл формата junit.

Последние две команды - это волшебство. Это выполняет gcovr script, удобный python script, который преобразует вывод gcov в Файл XML в стиле Cobertura.

Затем мы должны сообщить hudson о поиске рабочей области сборки для junit и xml файлы покрытия как действие после сборки. Теперь, когда мы запускаем в сборке мы получаем хорошие обзорные графики, показывающие результаты unit testи покрытие кода.

Ответ 3

В настоящее время я использую плагин xUnit для проектов на C/С++, и он работает очень до сих пор.

Согласно cppunit wikipage, он больше не поддерживается, а переносится в xUnit (источник).