Utilizando Moq para verificar la ejecución de métodos privados
Quiero probar la siguiente lógica (obviamente, esta es una versión simplificada de mi método):
public void myPublicMethod(params) {
if(some_condition)
privateMethod1();
else
privateMethod2();
}
Tengo todas las demás dependencias del método eliminadas, y lo configuré para garantizar que alguna_condición sea verdadera. Lo que quiero hacer es verificar que mi privateMethod1 () se llame exactamente una vez, y privateMethod2 () no se llame en absoluto. ¿Es esto posible hacer con Moq?
Aquí hay algunas notas sobre el tema:
privateMethod1 () y privateMethod2 () están dentro de la misma clase que myPublicMethod, por lo que no puedo crear un objeto simulado para esta clase.Los cuerpos de privateMethod1 / 2 contienen muchas, muchas dependencias de la clase que contiene estos y myPublicMethod, por lo que dividir privateMethod1 / 2 en su propia clase auxiliar sería prohibitivamente largo¿Alguna idea? Gracias por adelantado. Estoy dispuesto a aceptar que esto no se puede hacer, pero me gustaría saber de una forma u otra.