Tengo una clase que tiene un método interno y quiero burlarme del método interno. Pero no puedo simularlo, es decir, no está llamando a la función de burlarse sino llamando a la función original. ¿Hay alguna forma de lograr esto?¿Cómo burlarse del método interno de una clase?
Editar: En realidad soy un principiante para el Moq. Tengo muchas clases y métodos de las clases para probar usando el Moq. Muchas clases son internas, muchas tienen métodos internos, muchas tienen métodos no virtuales. Y no puede cambiar la firma en los métodos y clases. ¿Puede alguien decirme cómo proceder para probar este escenario utilizando Moq? O bien, por favor sugiérame algún otro marco de prueba que sea fácil de aprender y fácil de usar.
De hecho, el imitar métodos privados es olor código típico. – mikek
Estoy totalmente en desacuerdo: si haces TDD, burlarse de las cosas internas es algo cotidiano ... –
@Thomas - Entiendo tu punto de vista. Pero debe tener en cuenta que la estrategia clásica se define como probar el comportamiento de una clase, generalmente por interfaz, en lugar de su implementación interna, ya que esto relaciona estrechamente sus pruebas con la implementación interna e induce inercia y rotura al refactorizar. Debo decir que eres una minoría con tu opinión. Nota: He leído un poco de su blog y sé que es bastante considerado y que TDD es querido para usted. Simplemente no estoy de acuerdo con su desacuerdo. ;-) –