Cmockery est une bibliothèque légère qui est utilisée pour autoriser C Unit Tests.
Les tests CMockery sont compilés en exécutables autonomes et liés à la bibliothèque CMockery, à la bibliothèque C standard et au module testé. Tous les symboles externes au module testé doivent être moqués - remplacés par des fonctions qui renvoient les valeurs déterminées par le test - dans l'application de test. Même si des différences significatives peuvent exister entre l'environnement d'exécution cible d'un module de code et l'environnement utilisé pour tester le code, les tests unitaires sont toujours valides car son objectif est de tester la logique des modules de code à un niveau fonctionnel et pas nécessairement toutes ses interactions avec l'environnement d'exécution cible.
Il peut ne pas être possible de compiler un module dans une application de test sans modification; Par conséquent, l'unité de symbole du UNIT_TESTING doit être définie lorsque les applications de test unitaires de Cmockery sont compilées afin que le code dans le module puisse être compilé conditionnellement pour les tests.
Des informations plus détaillées sur la mécanique de la rédaction de tests avec CMockery peuvent être trouvées dans docs/user_guide.md .
Pour compiler la bibliothèque CMockery et des applications d'exemples sur Linux, exécutez:
$ ./configure
$ make
Pour compiler sur Windows, exécutez:
> vsvars.bat
> cd windows
> nmake
Ce code a été testé sur Linux (Ubuntu) et Windows à l'aide de VC ++ 7 et VC ++ 8.
Il existe une variété de cadres de tests unitaires C disponibles; Cependant, beaucoup d'entre eux sont assez complexes et nécessitent la dernière technologie du compilateur. Un certain développement nécessite l'utilisation d'anciens compilateurs, ce qui rend difficile d'utiliser certains cadres de test unitaires. De plus, de nombreux cadres de test unitaires supposent que le code testé est une application ou un module ciblant la même plate-forme qui exécutera finalement le test. En raison de cette hypothèse, de nombreux cadres nécessitent l'inclusion des en-têtes de bibliothèque C standard dans le module de code testé, qui peut entrer en collision avec l'implémentation personnalisée ou incomplète de la bibliothèque C utilisée par le code testé.
Cmockery ne nécessite qu'une application de test est liée à la bibliothèque C standard qui minimise les conflits avec les en-têtes de bibliothèque C standard. De plus, les essais de cmockery évitent l'utilisation de certaines des caractéristiques les plus récentes des compilateurs C.
Il en résulte que Cmockery soit une bibliothèque relativement petite qui peut être utilisée pour tester une variété de code exotique. Si un développeur souhaite simplement tester une application avec le dernier compilateur, d'autres cadres de test unitaires peuvent être préférables.
Si vous avez des questions sur Cmockery, utilisez les ressources suivantes:
Stack Overflow: Utilisez la balise cmockery
Liste de diffusion: CMockery (AT) GoogleGroup.com (Archives)
Pour vous joindre à un compte Google, utilisez l'interface utilisateur Web; Pour vous abonner / se désinscrire avec une adresse e-mail arbitraire, envoyez un e-mail à:
Cmockery est autorisé sous la licence Apache 2.0; Veuillez consulter LICENSE.txt pour plus de détails.