Presenté a los visitantes como una de las ideas principales de arquitectura en una de mis aplicaciones. Tengo varios visitantes que operan en un mismo lugar. Ahora, ¿cómo debería probarlo? Algunas pruebas en las que estoy pensando son un poco más grandes que una prueba unitaria (¿prueba de integración?) Pero todavía quiero hacerlo. ¿Cómo probaría el código como la muestra de C++ de wiki art en Visitor PatternPruebas unitarias Arquitectura de patrón de visitante
Respuesta
hacer un objeto visitante de prueba y hacerlo visitar cosas ... probar que visitó las cosas correctas.
Puede crear mock objects y hacer que sus visitantes las visiten, y luego crear visitantes simulados, y probar que se realizaron las acciones correctas.
¡¡Esa es de hecho una muy buena idea !!! –
Las pruebas unitarias no se tratan realmente de patrones de prueba, sino de probar la correcta implementación de métodos y funciones. El patrón de visitante es una estructura de clase específica, y para cada una de las clases (ConcreteVisitor y ConcreteElement, específicamente) involucradas, querrás pruebas unitarias.
Cuando haya desarrollado la confianza de que sus métodos de clase se comportan correctamente, podría usar su marco de pruebas unitarias para desarrollar pruebas de integración también. No inicie la prueba de integración inmediatamente: encontrará que desarrolla muchas pruebas de integración que en realidad están probando el comportamiento de una clase específica, es decir, pruebas unitarias.
Si necesita objetos simulados o puede usar objetos 'reales' es una cuestión diferente. Esto depende mucho de si los objetos se comportan lo suficientemente bien para los propósitos de la prueba unitaria (es decir, no atraen muchas dependencias adicionales, etc.) y si los objetos en sí mismos están probados en unidades (es decir, usted debe poder confiar en estos objetos 100%). El problema de simulacro frente a objetos reales se ha abordado anteriormente en stackflow, de modo que busque las etiquetas unittest.
- 1. Patrón de visitante en Scala
- 2. Patrón de visitante y encapsulado
- 3. ¿Alternativa al patrón de visitante?
- 4. Explicación del patrón de visitante
- 5. Patrón de visitante para AST
- 6. Pruebas unitarias de métodos privados: patrón de fachada
- 7. Transformaciones de árbol usando Patrón de visitante
- 8. Patrón visitante + Abierto/Cerrado Principio
- 9. Patrón de comando frente a patrón de visitante
- 10. ¿Por qué utilizar el patrón de visitante?
- 11. C++: dudas sobre el patrón de visitante
- 12. Destructores de pruebas unitarias?
- 13. Patrón de arquitectura de animación
- 14. Unidad de Pruebas de Arquitectura Pregunta
- 15. ¿Pruebas unitarias o pruebas funcionales?
- 16. ¿Pruebas unitarias o pruebas de integración?
- 17. Pruebas de integración vs. Pruebas unitarias
- 18. WPF MVVM y Pruebas unitarias
- 19. Pruebas unitarias en XSB Prolog?
- 20. Pruebas unitarias de métodos dependientes
- 21. Codeigniter Modelos de pruebas unitarias
- 22. Pruebas unitarias. Estructura de archivo
- 23. Pruebas automatizadas/unitarias de Vbscript
- 24. Pruebas unitarias Consultas de RavenDb
- 25. Generando documentación de pruebas unitarias
- 26. ¿Pruebas unitarias de métodos vacíos?
- 27. Pruebas unitarias de plantillas C++
- 28. Pruebas unitarias caras de hielo
- 29. Pruebas unitarias y lógica de validación
- 30. Comenzando con Pruebas unitarias
Puede dar un ejemplo sencillo ya que estoy usando Jsqlparser que usa el patrón de visitante y quería saber cómo probarlos. – Tony
es probable que desee hacer su propia pregunta. muestre un código básico y lo que está teniendo problemas con las pruebas. Ya no uso C++, pero es probable que alguien más te proporcione un código que muestre cómo. –
Aquí está el [enlace] (http://stackoverflow.com/questions/41887920/how-to-do-unit-testing-of-visitors-in-jsqlparser) a mi pregunta. – Tony