¿Cómo diseñaría y organizaría pruebas para los métodos concretos de una clase abstracta? Específicamente en .NET.Prueba de clase abstracta Métodos concretos
Respuesta
Tienes que crear una subclase que implemente los métodos abstractos (con métodos vacíos), pero ninguno de los concretos. Esta subclase debe ser solo para pruebas (nunca debe ir a su código de producción). Simplemente ignore los métodos abstractos anulados en sus pruebas unitarias y concéntrese en los métodos concretos.
¿Alguna razón para no incluir eso en las pruebas de una de las instancias?
Si eso no funciona, probablemente podría crear una subclase solo para probar sin ninguna funcionalidad propia.
Una razón puede ser que no estamos definiendo las clases concretas, solo el resumen. Alternativamente, es bueno saber cuándo falla la prueba que no se debe a uno de los métodos abstractos. –
Lo primero que viene a la mente es probar esos métodos en una clase infantil concreta.
siempre uso Trozo/objeto Mock
Hay que definir y crear una clase de prueba concreta de que inhereits de lo abstracto. Por lo general, será una luz suave que no hace más que pasar llamadas.
Utilice Rhino Mocks, puede generar implementaciones de la clase abstracta en tiempo de ejecución y puede llamar a los métodos no abstractos.
- 1. Clase abstracta con todos los métodos concretos
- 2. Clase abstracta sin métodos abstractos
- 3. Python - Prueba de una clase base abstracta
- 4. php clase abstracta extendiendo otra clase abstracta
- 5. delegado C# y clase abstracta
- 6. Derivar clase abstracta de la clase no abstracta
- 7. clase abstracta no implementa interfaz
- 8. Base abstracta o clase auxiliar
- 9. Mocking método concreto en clase abstracta utilizando phpunit
- 10. abstracción vs clase abstracta
- 11. clase abstracta estática
- 12. clase concreta de la clase abstracta
- 13. clase abstracta Refactoring en C#
- 14. Unidad probando una clase que hereda de una clase abstracta
- 15. serialización de una clase abstracta
- 16. Clase abstracta con clase anidada, ¿es esto posible?
- 17. Extender la clase Singleton abstracta
- 18. Scala Extendiendo Clase abstracta paramétrica
- 19. primavera, clase abstracta y anotaciones
- 20. referencia a la clase abstracta
- 21. ¿Cómo implementar una clase abstracta en F #?
- 22. Clase abstracta 100% frente a la interfaz
- 23. Cómo y cuándo usar una clase abstracta
- 24. JUnit: prueba la clase auxiliar con solo métodos estáticos
- 25. VS Team Test: Métodos de inicialización de prueba múltiple en la clase de prueba
- 26. Excluir métodos de prueba JUnit individuales sin modificar la clase de prueba?
- 27. Muchas clases de prueba o una clase de prueba con muchos métodos?
- 28. C# Interfaz implementada por clase abstracta vacía
- 29. convención de nomenclatura de clase abstracta
- 30. Clase base abstracta vs. Clase concreta como SuperTipo
Además, si termina teniendo muchos de estos (más de 2 o 3) debería considerar utilizar un marco de burla como Rhino.Mocks o Moq (gratis) o TypeMock (comercial) y hacer un "PartialMock" que automatizará este proceso para ti – chadmyers