pasaje parametros metodos metodo mandar llamar funciones firma definicion con como argumentos c# asp.net-mvc-3 mocking moq wcf-web-api

c# - parametros - moq objects Método de devoluciones, debería devolver un objeto nulo



metodos con parametros en c# (1)

No indica cuál fue el error, pero debería funcionar:

unitOfWork.Setup(m => m.PhysicalTests).Returns((IRepository<PhysicalTest>)null);

Sospecho que trataste de llamarlo con Returns(null) , lo que hace que el compilador se queje porque Returns está sobrecargado y no sabe a qué método se debe llamar. Casting a un tipo específico elimina la ambigüedad.

Estoy desarrollando una API web, y una de las pruebas que se me ocurrió es que, si el cliente realiza una operación GET con una identificación de prueba física (la prueba física es el recurso que estoy buscando) y esa prueba física no se encuentra , la API web debería devolver un estado 404.

Ahora, estoy usando moq framework para mis pruebas y tengo el siguiente código:

[TestMethod] public void then_if_physical_test_not_found_return_not_found_status() { var unitOfWork = new Mock<IUnitOfWork>(); var repository = new Mock<IRepository<PhysicalTest>>(); repository.Setup(r => r.FindById(It.IsAny<int>())).Returns(); unitOfWork.Setup(m => m.PhysicalTests).Returns(repository.Object); var pt = new PhysicalTestResource(unitOfWork.Object); HttpResponseMessage<PhysicalTest> response = pt.GetPhysicalTest(43); Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode) }

Necesito el método Returns () para devolver un objeto nulo, que será el que devolvería el método API real si no se encuentra el recurso.

Intenté enviar null como parámetro en el método Returns () pero no tuve éxito.