Frage

Verwendung aus ASP.NET MVC und TDD

Ich habe gerade erst begonnen. Ich habe während Unit-Tests gelesen, dass Sie auf Testen Sie Ihren Code konzentrieren, nicht auf andere Systeme, wie die DB. Doch was passiert, wenn wesentliche Funktionalität ist in der DB mit Wohnsitz?

Ich habe die MVC Storefront-Serie als erste Orientierungshilfe in verwendet, wie meine Projekte und Muster einzurichten. Als Volltextsuche wesentlich ist, habe ich diesen Satz als eine Funktion in meinem Repository up

IQueryable<HealthOrganization> SearchOrganizations(string phrase);

Nun muss die Logik dieser Suche eine Tabellenwertfunktion mit Volltext und einigen anderen Funktionen in der Datenbank. Die Logik in diesen Funktionen ist unmöglich, genau richtig in der fakerepository zu bekommen. Was ist Ihre Empfehlung über die beste Strategie, um Unit-Test dieses und TDD auf der Suche zu tun?

War es hilfreich?

Lösung

Dies ist kein Unit-Test, es ist ein Integrationstest. So man kaum umsetzen kann es TDD mögen.

Ich gehe davon aus, dass Ihre Code nicht viel tun, aber die Datenbank aufrufen. Sie haben also nicht viel zu testen. Wenn Sie den Datenbank-Aufruf auf der untersten Ebene spotten können, können Sie testen, ob der Anruf passiert. Wenn dies sehr kompliziert wird, ist es besser, nicht einen Komponententest für sie zu schreiben. Es wird nur schwer zu halten.

, um den Integrationstest schreiben Sie eine echte Datenbank benötigen.

Andere Tipps

Sie können eine Testdatenbank eine Reihe von bekannten Elementen erstellen enthält, dann überprüfen Sie den Suchcode die Ergebnisse zurückgibt Sie erwarten ..

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top