boost C ++ Mock / Test :: asio :: iostream - baseado Async Handler
-
19-09-2019 - |
Pergunta
Eu recentemente voltou para C / C ++ depois de anos de C #. Durante esses anos eu encontrei o valor dos testes de zombaria e Unidade.
recursos Encontrar para testes zomba e unidades em C # é trivial. WRT Mocking, não tanto com C ++.
Eu gostaria de alguma orientação sobre o que os outros fazem para zombar e manipuladores de teste Asynch io_service com impulso.
Por exemplo, em C # Gostaria de usar um MemoryStream para zombar uma IO.Stream, e estou assumindo que este é o caminho que deve tomar aqui.
- C ++ Mock / Teste melhores práticas
- boost :: asio :: io_service Mock / Teste melhores práticas
- C ++ Async Handler Mock / Teste melhores práticas
Eu comecei o processo com googlemock e googletest.
Solução
Como você provavelmente já descobriu, há muito menos ajuda para zombando em C ++ do que em C # ou Java. Pessoalmente, eu tendem a escrever minhas próprias simulações como e quando eu precisar deles, em vez de usar um framework. Desde que a maioria de meus projetos tendem a ser pesado sobre as interfaces isso não é especialmente difícil para mim e eu tendem a construir uma 'biblioteca simulada' que vai com o código que eu estou desenvolvendo. Um exemplo de como eu faço as coisas podem ser encontrados aqui na minha artigos 'teste prático'. No final, não é tão diferente para zombar e testar em C #, todos os mesmos princípios se aplicam, você só acabam fazendo mais do trabalho pesado mesmo.