En .NET, a diferencia de Java, los métodos no son virtuales por defecto. Para usar la mayoría de los frameworks de objetos simulados, debes marcar los métodos que quieras usar en tu simulacro como virtuales en el objeto `real ', o tienes que tener una interfaz que te permita simular que la clase bajo prueba aceptar en lugar de la implementación.Objetos de burla: ¿declara todos los métodos como virtuales o usa la interfaz?
Parece una mala forma ir y marcar todos los métodos como virtuales, pero también parece una mala forma definir una interfaz para cada clase.
¿Qué es lo mejor que puedes hacer?
Me gusta la idea de tratar los dobles de prueba como implementaciones planificadas de la interfaz. No estoy seguro si me gusta hacer que los otros sean virtuales a menos que sea parte del diseño de la clase, pero de nuevo, si resulta que necesitas burlarte de algo más tarde, cambiar el código solo por eso huele mal. – dnewcome