J'essaie d'ajouter mon premier test d'unité à un projet open source existant. Plus précisément, j'ai ajouté une nouvelle classe, appelée audio_manager: J'ai créé une structure de répertoire SRC / test qui reflète la structure des fichiers de mise en œuvre et a écrit mon googletest tests de l'unité: p> maintenant, j'essaie de mettre en place mon Makefile.am Pour compiler et exécuter le test de l'unité: P> src/audio/Makefile.am
3 Réponses :
Si le projet existant a déjà une structure de test en place, vous devez simplement ajouter: aux tests existants / makfile.am. Si le projet existant n'a pas de structure de test en place, vous devriez courir crier pour les collines. P> Si vous courez pour les collines n'est pas acceptable, il y a un peu de travail pour obtenir la structure de test en place , mais ce n'est pas insurmontable. Vous préférez peut-être faire des tests un frère de SRC, mais ce n'est pas nécessaire. Il est probablement plus facile de commencer par un makefile frais.am plutôt que de copier le maquillage.am de SRC, mais peut-être pas. Peut-être que tout ce que vous devrez faire est de modifier des lignes de forme: p> à p> Ajouter la ligne p> changer le nom de audio_manager.cc à test-audio-manager.cc (ce n'est pas strictement nécessaire, mais aidera la maintenabilité. J'ai changé _ à l'excès de personnel Préférence) et ajoutez un P>
SUBDIRS = tests/audio
Kudos à vous d'avoir tout le monde là-bas pour commencer avec :)
La réponse de William m'a eu lieu où j'avais besoin d'aller. Juste pour le bien de la communauté, voici ce que j'ai fini par faire:
J'ai ajouté quelques lignes à SRC / Audio / Makefile.am Pour activer les tests d'unité: P>
# Unit tests noinst_PROGRAMS = test_audio_manager test_audio_manager_SOURCES = $(libadonthell_audio_la_SOURCES) test_audio_manager.cc test_audio_manager_CXXFLAGS = $(libadonthell_audio_la_CXXFLAGS) test_audio_manager_LDADD = $(libadonthell_audio_la_LIBADD) -lgtest TESTS = test_audio_manager
MAINTENANT MAINTENANT, COURANT "Vérifier" incendie les tests de l'unité! P> LI> ol>
Tout cela peut être vu ici: http://github.com/ KSTERKER / ADONTHELL / COMMITE / AACDB0FE22F59E61EF0F5986827F180C56AE9F3 P> P>
Compléter les informations dans les autres réponses, vous pouvez également spécifier plusieurs tests sur Quel que soit le nombre de tests que vous spécifiez, vous n'avez pas vraiment à les spécifier deux fois, à la place. Il suffit de définir ... ou de faire la même chose avec plusieurs tests: p> Tests CODE>.
tests code> sur
$ (check_programs) code> - Cela peut aider à empêcher une situation accidentelle d'ajouter votre test à
check_programs indicatif> mais oublier de l'ajouter à
TESTS CODE>, Causer votre nouvel essai à ajouter à la construction, mais n'étant jamais exécuté par
faire vérifier code>: p>