Un cadre de test unitaire en C est Check ; une liste des frameworks de tests unitaires en C peut être trouvée ici et est reproduite ci-dessous. Selon le nombre de fonctions de bibliothèque standard de votre runtime, vous pouvez ou non utiliser l'une d'entre elles.
AceUnit
AceUnit (Advanced C et Embedded Unit) se présente comme un cadre de test unitaire de code C confortable. Il essaie d'imiter JUnit 4.x et inclut des capacités de réflexion. AceUnit peut être utilisé dans des environnements de contraintes de ressources, par exemple le développement de logiciels intégrés, et surtout, il fonctionne correctement dans des environnements où vous ne pouvez pas inclure un seul fichier d'en-tête standard et ne pouvez pas invoquer une seule fonction C standard à partir des bibliothèques ANSI / ISO C. Il dispose également d'un port Windows. Il n'utilise pas de fourches pour intercepter les signaux, bien que les auteurs aient exprimé leur intérêt à ajouter une telle fonctionnalité. Voir la page d'accueil AceUnit .
GNU Autounit
Dans la même veine que Check, y compris le fait d'exécuter des tests unitaires dans un espace d'adressage séparé (en fait, l'auteur original de Check a emprunté l'idée à GNU Autounit). GNU Autounit utilise largement GLib, ce qui signifie que la liaison et autres ont besoin d'options spéciales, mais cela peut ne pas être un gros problème pour vous, surtout si vous utilisez déjà GTK ou GLib. Voir la page d'accueil de GNU Autounit .
cUnit
Utilise également GLib, mais ne fourche pas pour protéger l'espace d'adressage des tests unitaires.
CUnit
Standard C, avec des plans pour une implémentation de l'interface graphique Win32. Actuellement, ne bifurque pas ou ne protège pas l'espace d'adressage des tests unitaires. Au début du développement. Voir la page d'accueil de CUnit .
CuTest
Un cadre simple avec un seul fichier .c et un fichier .h que vous déposez dans votre arborescence source. Voir la page d'accueil de CuTest .
CppUnit
Le premier framework de tests unitaires pour C ++; vous pouvez également l'utiliser pour tester le code C. Il est stable, activement développé et possède une interface graphique. Les principales raisons de ne pas utiliser CppUnit pour C sont d'abord qu'il est assez grand, et ensuite vous devez écrire vos tests en C ++, ce qui signifie que vous avez besoin d'un compilateur C ++. Si cela ne ressemble pas à des préoccupations, cela vaut vraiment la peine d'être pris en compte, avec d'autres cadres de test unitaire C ++. Voir la page d'accueil de CppUnit .
embUnit
embUnit (Embedded Unit) est un autre cadre de test unitaire pour les systèmes embarqués. Celui-ci semble être remplacé par AceUnit. Page d'accueil de l'unité intégrée .
MinUnit
Un ensemble minimal de macros et c'est tout! Le but est de montrer à quel point il est facile de tester votre code à l'unité. Voir la page d'accueil de MinUnit .
Unité pour M. Ando
Une implémentation CUnit qui est assez nouvelle, et apparemment encore au début du développement. Voir la page d'accueil de CUnit pour M. Ando .
Cette liste a été mise à jour pour la dernière fois en mars 2008.
Plus de cadres:
CMocka
CMocka est un framework de test pour C avec prise en charge des objets fictifs. Il est facile à utiliser et à configurer.
Voir la page d'accueil de CMocka .
Critère
Criterion est un framework de tests unitaires C multiplateforme prenant en charge l'enregistrement automatique des tests, les tests paramétrés, les théories et qui peut sortir en plusieurs formats, y compris TAP et JUnit XML. Chaque test est exécuté dans son propre processus, de sorte que les signaux et les plantages peuvent être signalés ou testés si nécessaire.
Voir la page d' accueil de Criterion pour plus d'informations.
HWUT
HWUT est un outil général de test unitaire avec un grand support pour C. Il peut aider à créer des Makefiles, générer des cas de test massifs codés dans des `` tables d'itération '' minimales, marcher le long des machines d'état, générer des stubs C et plus encore. L'approche générale est assez unique: les verdicts sont basés sur «bonne sortie / mauvaise sortie». Cependant, la fonction de comparaison est flexible. Ainsi, tout type de script peut être utilisé pour la vérification. Il peut être appliqué à n'importe quelle langue pouvant produire une sortie standard.
Voir la page d'accueil HWUT .
CGreen
Un cadre de test et de simulation unitaire moderne et portable en plusieurs langues pour C et C ++. Il offre une notation BDD en option, une bibliothèque de simulation, la possibilité de l'exécuter en un seul processus (pour faciliter le débogage). Un lanceur de test qui découvre automatiquement les fonctions de test est disponible. Mais vous pouvez créer votre propre programme.
Toutes ces fonctionnalités (et plus) sont expliquées dans le manuel CGreen .
Wikipedia donne une liste détaillée des frameworks de tests unitaires C sous Liste des frameworks de tests unitaires: C