36 votes

C ++ Jenkins QA Stack / Tools

Nous sommes actuellement dans le processus de construction d'une QA pile pour vous de développement en C++ .

Nous avons déjà plusieurs Jenkins instances en cours d'exécution et a fait de très bonnes expériences avec le serveur CI en combinaison avec d'autres langages comme java et php.

Ce que je demande, pour sont des pointeurs vers des chaînes d'outils qui peuvent être utilisés pour le Développement en C++ avec Jenkins.

Plus spécifiques (java / php exemples dans des accolades):

  • Un framework de test unitaire qui test et produit des rapports de couverture (jUnit / phpUnit)
  • Une des directives de codage correcteur (checkstyle / phpCodeSniffer)
  • Quelque chose de la DGM qui repère les problèmes potentiels dans une base de code (pmd / phpmd)
  • De plus si nécessaire, mais ces 3 serait les bases, je suppose?

Bounty edit:

Alors que j'ai eu une réponse acceptable à ma question m'a été demandé de fournir plus d'outils / options / raisons d'utiliser Jenkins pour ce projet.

Dans le passé, j'ai fait des sous-optimale des expériences avec des outils à cet égard. (Quoi? Vous souhaitez ENREGISTRER! ces rapports? Ensuite, vous devez acheter le supplément de 10k Bucks/An plugin qui permet de générer des GRAPHIQUES de fantaisie! pour vous.) J'ai peut-être mal ici alors merci de me dire si je le suis.

Mais surtout, je suis à la recherche d'une pile complète d'outils à utiliser avec Jenkins pour le développement en C++ et d'assurance qualité

35voto

Sagar Points 4883

Nous utilisons Jenkins avec C & C++. Ce sont des outils que nous avons utilisé, et je pense que vous pourriez trouver utiles. Toutes sont utilisables avec Jenkins:

  • Framework de Test unitaire - cppunit : sorties xml qui peut être alimenté directement à Jenkins à l'aide de la cppunit plugin
  • Couverture : gcov + gcovr produit de bons rapports de couverture de
  • Directives de codage correcteur : vous pouvez utiliser pclint & les avertissements plugin pour cela.
  • Mess Detector : vous ne savez Pas ce que vous entendez par mess ici, mais nous sommes à l'aide de la DGM/DPC pour la duplication de code de vérification et de NSIQ pour la complexité et la LDC

Nous utilisons également des cppcheck pour l'analyse statique.

Espérons que ça aide!

12voto

reechard Points 557

Nous utilisons Jenkins avec le googletest framework de test unitaire.

  • Essais produire jUnit-xml conforme.
  • Porté pour la plupart de chaque compilateur, vous êtes susceptible de courir à travers.

Sur la suite de mon propre lien, j'ai trouvé ceci:

Continue de Couverture de Code avec gcc, googletest, et Hudson

Les trois premières lignes de la commande il suffit d'exécuter la construction. L' commande sur la ligne 4 exécute le binaire de l'application de test que nous avons construit, et de sorties du résultat du test de résumé à un junit format de fichier XML.

Les deux dernières commandes sont où la magie est. Cela exécute la gcovr script, un bon script python qui convertit le gcov sortie d'un Cobertura de style fichier XML.

Ensuite, nous avons à dire d'hudson à la recherche de la construction de l'espace de travail pour le junit et de la couverture des fichiers xml en tant que post-construire l'action. Maintenant, quand nous courons le construire, nous faire belle vue d'ensemble des graphiques de tendance appareil des résultats de test et la couverture de code.

2voto

Keplah Points 556

J'utilise actuellement le plugin xUnit pour les projets C / C ++, et cela fonctionne très bien jusqu'à présent.

Selon le wikipage de cppunit , il n'est plus maintenu mais a été migré dans xUnit ( source ).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X