C ++ Mock / boost Test :: asio :: iostream - basé Async Handler
-
19-09-2019 - |
Question
Je suis récemment retourné à C / C ++, après des années de C #. Au cours de ces années, j'ai trouvé la valeur des tests Mocking et unité.
Trouver des ressources pour les tests et les unités Mocks en C # est trivial. WRT Mocking, pas tant avec C ++.
Je voudrais quelques conseils sur ce que les autres faire pour se moquer et de tester Asynch gestionnaires de io_service avec boost.
Par exemple, en C # Je voudrais utiliser un MemoryStream pour se moquer d'un IO.Stream, et je suis supposer que ce soit le chemin que je dois prendre ici.
- C Mock / test meilleures pratiques
- boost :: asio :: io_service Mock / test meilleures pratiques
- C ++ Async Handler Mock / test meilleures pratiques
J'ai commencé le processus avec googlemock et googletest.
La solution
Comme vous l'avez probablement déjà trouvé, il y a beaucoup moins d'aide pour se moquant en C ++ que dans C # ou Java. Personnellement, je tendance à écrire mes propres des simulacres et quand je besoin d'eux plutôt que d'utiliser un cadre. Comme la plupart de mes dessins ont tendance à être lourd sur les interfaces ce n'est pas particulièrement difficile pour moi et je tendance à construire une « bibliothèque simulée » qui va de pair avec le code que je développe. Un exemple de la façon dont je fais les choses se trouve dans mon des articles « de test pratique ». En fin de compte ce n'est pas différente de moqueries et de tester en C #, tous les mêmes principes, vous venez de finir par faire plus de la lourde vous soulever.