Tengo entendido que puedo probar que una llamada al método ocurrirá si llamo a un método de nivel superior, es decir:Usando Moq para determinar si un método se llama
public abstract class SomeClass()
{
public void SomeMehod()
{
SomeOtherMethod();
}
internal abstract void SomeOtherMethod();
}
Quiero probar que si llame al SomeMethod()
luego espero que se llame SomeOtherMethod()
.
¿Estoy en lo cierto al pensar que este tipo de prueba está disponible en un marco de burla?
Esta es la respuesta correcta. Sin embargo, debes entender algo. Usted NO PUEDE burlarse de un método/propiedad que no sea abstracto o virtual (obviamente, se pueden burlar todos los métodos y propiedades de la interfaz). – Will
-1: .Expect (...). Verifiable() es redundante en este código. Usando AAA, la verificación que tienes es la correcta. .Verificable es para el uso con .Verify() i, .e. la versión no arg. Consulte http://stackoverflow.com/questions/980554/what-is-the-purpose-of-verifiable-in-moq/1728496#1728496 –
¿se puede hacer esto sin la inyección del constructor? –