crpcut

Logiciel capture d'écran:
crpcut
Détails logiciels:
Version: 1.9.2
Date de transfert: 20 Feb 15
Développeur: Bjorn Fahller
Licence: Gratuit
Popularité: 5

Rating: nan/5 (Total Votes: 0)

crpcut (prononcé «coupe de merde») est le compartimenté robuste Posix C ++ Unité Tester. Avec crpcut il est facile d'écrire des tests que d'autres cadres unité-test ne peut pas gérer.
Exemple introductif:
Un exemple tester parties de std :: string:
& Nbsp; #include
& Nbsp; #include
& Nbsp; struct apastr // luminaire pour les tests de mosts
& Nbsp; {
& Nbsp; apastr (): s ("apa") {}
& Nbsp; std :: string s;
& Nbsp;};
& nbsp; TestSuite (bases)
& Nbsp; {
& Nbsp; TEST (default_constr_and_destr)
& Nbsp; {
& Nbsp; std :: string s;
& Nbsp; ASSERT_TRUE (s.empty ());
& Nbsp; ASSERT_EQ (s.length (), 0);
& Nbsp;}
& Nbsp; TEST (constr_from_char_array, apastr,
& Nbsp; DEPENDS_ON (default_constr_and_destr))
& Nbsp; {
& Nbsp; ASSERT_EQ (s.length (), 3UL);
& Nbsp;}
& Nbsp; TEST (au, apastr,
& Nbsp; DEPENDS_ON (default_constr_and_destr))
& Nbsp; {
& Nbsp; ASSERT_EQ (s.at (1), 'p');
& Nbsp;}
& Nbsp;}
& nbsp; TestSuite (erreurs, DEPENDS_ON (ALL_TESTS (bases)))
& Nbsp; {
& Nbsp; TEST (at_out_of_range, apastr,
& Nbsp; EXPECT_EXCEPTION (std :: out_of_range))
& Nbsp; {
& Nbsp; s.at (4);
& Nbsp;}
& Nbsp; TEST (index_oper_out_of_range, apastr,
& Nbsp; EXPECT_SIGNAL_DEATH (SIGABRT),
& Nbsp; NO_CORE_FILE)
& Nbsp; {
& Nbsp; s [4];
& Nbsp;}
& Nbsp;}
& Nbsp; int main (int argc, char * argv [])
& Nbsp; {
& Nbsp; retourner crpcut :: :: test_case_factory RUN_TEST (argc, argv);
& Nbsp;}
Tests similaires avantages d'être regroupés en test-suites. Test-suites peuvent dépendre d'autres tests-suites, ce qui signifie que les essais contenus ne fonctionnera que si tous les tests dont il dépend ont terminé avec succès. Les résultats peuvent être validés en utilisant un certain nombre de macros affirmer. Les tests peuvent utiliser des appareils d'exprimer des contenus communs. Les tests peuvent se attendre à sortir par exception, ou mourir. Attentes qui ne sont pas satisfaits des erreurs. Messages sur stderr et stdout sont gaught, et inclus dans le journal de résultat.
Pourquoi crpcut
Plus important encore, il doit être facile d'écrire des tests. Avec crpcut, vous vous concentrez sur la logique de votre structure et test de test, pas sur les limites imposées par votre environnement de test.
Avec crpcut, tous les cas de test se exécute dans son propre processus et son propre répertoire de travail. Si un cas de test échoue, le processus se termine immédiatement, avant qu'il ne dommage supplémentaire. Cela signifie que tous les cas de test commence à partir d'une table rase, non affecté par d'autres tests. Ce est le cloisonnement.
Cela signifie également que la suite de tests continue, même si un test se bloque. Vous pouvez fixer des délais pour des cas de test, et si le temps imparti est gravement déficitaire, le processus de cas de test est tué. Ces deux constituent la partie de robustesse.
Vous pouvez définir des dépendances entre les cas de test et entre les suites de test, de sorte que si un des tests fondamentaux échoue, les tests qui sont basés sur la fonctionnalité fondamentale ne seront même pas courir.
Le processus principal crpcut n'a pas de mémoire allouée dynamiquement au moment d'un processus de cas de test est commencé, de sorte que vous pouvez exécuter crpcut aide d'un outil de test de mémoire, comme valgrind, et se il est affecté mémoire lorsque le processus de cas de test se termine, vous peut être assuré que vous avez trouvé une fuite de mémoire dans votre test.
Si vous avez un CPU multi-core, il peut être avantageux d'exécuter plusieurs cas de test en parallèle. crpcut permet.
Se il ya des fichiers laissés dans le processus de test 'répertoire de travail après le processus de cas de test est terminée, le cas de test est considéré comme ayant échoué. Le répertoire de travail est laissé intact par crpcut, pour vous d'examiner

Quoi de neuf dans cette version:.

  • Cette version soutient distributions avec les anciennes versions de CMake.

Ce qui est nouveau dans la version 1.9.1:

  • libcrpcut_basic.so a été construit, mais pas installé

Quoi de neuf dans la version 1.8.4:

  • Ce est une version de maintenance mineure corrigeant les problèmes d'instrumentation valgrind , les dépendances des tests et défectueuse attribut durée de l'essai dans les rapports XML.

Quoi de neuf dans la version 1.8.2:

  • Cette amélioration de fonctionnalité mineure rend le paramètre de ligne de commande - -timeout multiplicateur = facteur maintenant ont aussi un effet sur les délais d'attente pour la construction d'appareils et de destruction.

Quoi de neuf dans la version 1.8.1:

  • Cette amélioration de fonctionnalité mineure rend le paramètre de ligne de commande - -timeout multiplicateur = facteur maintenant ont aussi un effet sur les délais d'attente pour la construction d'appareils et de destruction.

Ce qui est nouveau dans la version 1.7.2:

  • Cette version corrige un bug mineur avec le test de NO_CORE_FILE modificateur qui se est produit sur Linux lorsque / proc / sys / kernel / core_pattern décrit redirigeant la core dump à un programme plutôt que de sauver dans un fichier.

Ce qui est nouveau dans la version 1.6.1:

  • Ce est un patch pour un bug que dans certains cas causés XML malformé sortie en manquant sa fin sur la liste des blocked_tests.

Quoi de neuf dans la version 1.6.0:

  • Les nouvelles fonctionnalités sont un paramètre optionnel supplémentaire pour ASSERT_THROW () et VERIFY_THROW () qui vérifie la valeur d'un objet d'exception, deux istream version basée sur des GET_PARAMETER () pour prendre des valeurs passées de la ligne de commande, et une option de construire libcrpcut bibliothèque statique ou partagé.

Quoi de neuf dans la version 1.5.0:

  • La nouvelle fonctionnalité majeure est le marquage des tests. Les tags sont une méthode de sélection de test orthogonale à celle des suites de tests. Les étiquettes peuvent également être utilisés pour distinguer entre le test qui sont critiques (par exemple régressions) et d'essai qui sont non-critique (par exemple la fonctionnalité actuellement travaillé sur.)
  • Prise en charge expérimentale est également disponible pour la décoration des rapports de test avec, par exemple, se échappe ANSI-couleur.

Logiciel similaire

EXQUIRES
EXQUIRES

20 Feb 15

pycdep
pycdep

11 May 15

GAJET
GAJET

2 Jun 15

Commentaires à crpcut

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!