Método de Configuración con parámetro de tipo objeto utilizando MOQ
Tengo una interfaz
public interface IProgramer
{
bool ReturnStatus(Program prg, string filepath);
}
Clase
public class Programer : IProgramer
{
public bool ReturnStatus(Program prg, string filepath)
{
// lógica
return estado;
}
}
Prueba unitaria
public void StartOperationTest()
{
string dummyfilepath = "C://Users//x//";
Program dummyprgObj = new Program
{
Name = "x",
Rollno = 1,
};
var mock = new Mock<iprogramer>();
mock.Setup(x => x.ReturnStatus(dummyprgObj, dummyfilepath)).Returns(true);
}
El método de configuración siempre regresa false. ¿Alguien puede decirme qué está mal aquí?
davy.ai
El problema con el código anterior es que el objeto
mock
nunca se utiliza en la prueba de unidad real. Después de configurar el objetomock
, necesitamos usarlo para probar el método en consideración.Suponiendo que el método en consideración es
StartOperation
, que llama al métodoReturnStatus
de la claseProgrammer
, podemos modificar la prueba de unidad de la siguiente manera:Aquí, creamos una instancia de la clase que llama al método
ReturnStatus
y pasamosmock.Object
a su constructor. Luego llamamos al método en consideración y verificamos el resultado esperado.Nota: Reemplace
MyClass
con el nombre real de la clase que llama al métodoReturnStatus
.