Estoy intentando escribir algunas pruebas de unidad para mi ApiController y tuve que enfrentar algunos problemas. Hay un buen método de extensión llamado Request.CreateResponse que ayuda mucho con la generación de respuestas.Prueba de unidad ASP.NET WebApi con Request.CreateResponse
public HttpResponseMessage Post(Product product)
{
var createdProduct = repo.Add(product);
return this.Request.CreateResponse(HttpStatusCode.Created, createdProduct);
}
¿Hay alguna manera de burlarse CreateResponse sin utilizar de los simulacros parciales o usando directa de la "nueva HttpResponseMessage (...)"?
¿Por qué quiere burlarse del 'CreateResponse'? ¿Por qué no afirmar en las propiedades devueltas 'HttpResponseMessage'' Content' y 'StatusCode' que se han establecido los valores correctos? – nemesv
Si ejecuto este método desde pruebas unitarias, fallará, salvo que la configuración no está configurada. – asa
Bien, lástima de mí, solo necesitaba escribir esto.Request.CreateResponse (HttpStatusCode.Accepted, createdProduct, GlobalConfiguration.Configuration) – asa