Personnellement je n'utilise pas de tests unitaires mais j'aimerai en mettre en place pour certaines libs de mes programmes. Seulement le temps me manque. On a beau dire que les tests unitaires font gagner du temps, et je le crois aussi, ils ne font pas gagner de temps quand on a deja du code qui marche, et sur-utilise et dont on aimerai ajouter des tests unitaire pou les changements futures qui ne sont pas plannifies.
Donc j'aimerai bien, mais c'est difficile de m'y mettre dans mes projets actuels (si j'etait pas seul dessus ou avec un language moins type que C++ ca serait une autre histoire cela dis).
J'ai un souci pour le choix du framework:
- Boost.Test a l'air d'etre le plus simple a mettre en place, en etant pourtant tres pousse;
- les gens de Boost sont pas tous content de Boost.Test - d'apres les recentes discussions- mais de recentes modifications (je sais pas si elles sont publiees deja) sont cense corriger les problemes;
- Google Test est tres repute et semble tres complet - on me l'a recommande notemment a cause de du framework de mock mais je ne suis pas certain que je vais en avoir besoin...
- Google Test est visiblement plus complique a mettre en place essentiellement parcequ'il genere du code via python, donc il faut python d'installe - compare a Boost.Test qui necessite...C++.
- GTest utilise CMake et j'utilise CMake - Boost.Test est header-only;
- Les deux sont en fait des dependences de dependances d'un de mes projets, donc je peu utiliser l'un ou l'autre (mais dans tous les cas ca va me demander pas mal de travail d'integrer les projets de tests, avant meme d'ecrire les tests);
Du coup je suis reste sur un statut quo de faire en sorte que pas une seule ligne de code ne soit pas utilisee, et que tout est fortement typee. C'est pas l'ideal pour l'evolution de certaines parties, nottemment les plus generiques, mais pour l'instant, comme je disais, j'ai un souci de manque de temps.
Si je pouvais plannifier suffisamment de temps pour integrer un de ces frameworks, ecrire les tests serait du gateau. Malheureusement, mes projets actuels sont assez massifs et utilisent CMake donc ca necessite de l'organisation, du script etc pour facilement ajouter des tests au fur et a mesure.
Et ca commence par decider quel framework utiliser.
Note: je n'ai pas vote.
Partager