Estoy trabajando en este proyecto WebAPI y necesito crear pruebas unitarias para él. La base del proyecto se creó utilizando VS 2010, y luego se agregó un Módulo WebApi.C# WebApi Unidad de pruebas y Controladores de burla
El funcionamiento del controlador se interpone en el camino de las pruebas/burlas. Estoy usando xUnit y Moq, pero no hay absolutamente ninguna necesidad de seguir con esos dos.
La aplicación utiliza objetos específicos para tratar el acceso de base de datos, así que tengo la controllerObject y su contructor requiere la DataAccessObject
estoy teniendo un problema con el controlador burlarse/par DATAACCESS. La primera prueba que trato de ejecutar es GetAllFromDataBase, pero realmente no tengo ni idea de cómo hacerlo.
EDIT:
Hice lo que me dijo Cuong Le y el todo se está moviendo ahora, realmente apreciate ella. Pero me metí en otro problema. Para acceder a la API, hay un par de nombre de usuario/contraseña y mi controlador usa Thread.CurrentPrincipal.Identity.Name; ahora mismo necesitaría establecer este valor para que funcione completamente, supongo.
También el valueServiceMock.Setup (servicio => service.GetValues ()) .Returns (new [] { "valor1", "valor2"});
parece que no funciona. como el código intenta llegar a la base de datos, y no obtiene nada, ya que no puede obtener un nombre de usuario válido para buscar
No debe burlarse del controlador, se burlaría de la servicios que el controlador necesita. Si estuvieras burlándose del controlador, no estarías probando el controlador. Ese es todo el punto. Eche un vistazo a esta publicación: http://www.peterprovost.org//blog/2012/06/16/unit-testing-asp-dot-net-web-api/ – tugberk
¿Comprobó que pasa el objeto falso a través de constructor como este: var controller = new ValuesController (valueServiceMock.Object); –