C# WebApi Unit-Tests und Mocking-Controller

Arbeite ich auf dieser WebAPI-Projekt, und ich brauche zum erstellen von unit-tests für Sie. Die Basis für das Projekt wurde mit VS 2010 , und dann ein WebApi-Modul wurde Hinzugefügt.

Die Funktionsweise der controller sind irgendwie immer in den Weg der Prüfung/spöttisch. Ich bin mit xUnit und Moq , aber es gibt absolut keine Notwendigkeit zu halten mit diesen beiden.

Verwendet die Anwendung bestimmter Objekte zum Umgang mit Datenbank-Zugriff, so dass ich die
controllerObject und seine contructor erfordert das DataAccessObject

Ich habe ein problem mit Spott controller /dataaccess-pair-Mädchen. Der erste test im Versuch zu laufen, ist eine GetAllFromDataBase, aber ich nicht wirklich eine Ahnung, wie es zu tun.

EDIT:

Tat ich, was Cuong Le sagte mir, und das ganze bewegt sich jetzt, ich wirklich apreciate es. Aber ich ging in ein anderes problem. Zugriff auf die API, es gibt eine Benutzername/Passwort-paar und mein controller verwendet-Thread.CurrentPrincipal.Identität.Name; jetzt würde ich brauchen, um diesen Wert für Sie, um vollständig funktionieren denke ich mal.

Auch die valueServiceMock.Setup(service => service.GetValues())
.Returns(new[] { "value1", "value2" });

scheint nicht zu funktionieren. der code versucht, für die Datenbank und bekommt nichts, da es keinen gültigen Benutzernamen zu suchen

  • Sollten Sie nicht verspotten die controller, würden Sie verspotten die Leistungen, die der controller benötigt. Wenn u waren machten Sie sich über die controller, würden Sie nicht testen die controller. Das ist springende Punkt. Haben Sie einen Blick auf diese post: peterprovost.org//blog/2012/06/16/...
  • Haben Sie überprüft, dass Sie pass mock-Objekt per Konstruktor wie diesen: var controller = new ValuesController(valueServiceMock.Objekt);
InformationsquelleAutor oSR | 2012-08-03
Schreibe einen Kommentar