2009-03-03 4 views
0

Ich arbeite an einem Komponententest, der eine Geschäftslogik ausführt, die schließlich zu einer Aktualisierung der Daten (führen Sie die gleiche Abfrage erneut) führen wird.Einheitentest einer Refresh-Funktionalität mit Stub-Objekten

Mit Dependency Injection (mit Castle-Windsor) werden Stub-Objekte in Unit-Tests verwendet. Daher wird eine statische Liste von Entitäten von der Methode zurückgegeben, die die Daten abruft.

Wie kann ich testen, ob diese Methode erneut aufgerufen wird?

Ich missbrauchte ein Datum-Uhrzeit-Feld in einer der Entitäten, um die zweite get (DateTime nach der Aktualisierung! = Vor der Aktualisierung) zu testen, aber ich denke nicht, dass dies wirklich eine gute Lösung ist.

Kann mir jemand eine elegante Lösung dafür anbieten?

Antwort

1

Die Frage "Wie kann ich testen, ob diese Methode erneut aufgerufen wird?" klingt wie Sie wirklich wollen Mocks eher als Stubs - Sie testen Protokoll anstatt nur eine statische Reihe von Daten zurückgegeben werden. Persönlich mag ich die Rhino.Mocks Bibliothek.

+0

Vielen Dank für Ihre Antwort. Aber können Sie bitte erläutern, wie ein Scheinobjekt mir bei diesem Problem helfen kann? (Ich weiß nichts über Rhino.Mocks) –

+0

Mocking testet Ihre Interaktion mit der Abhängigkeit, anstatt nur Werte zu setzen, die zurückgegeben werden. Eine Einführung in Rhino.Mocks finden Sie unter http://ayende.com/wiki/Rhino+Mocks+Introduction.ashx - für allgemeine "Was ist Spott" -Fragen würde ich eine Suche nach einem guten Artikel beginnen. –

+0

(d. H. Ich kenne keine guten Artikel aus der Hand, also würde ich eine Suche durchführen, die Sie genauso einfach durchführen können. Entschuldige, dass ich keine geeigneten Ressourcen in meinem Kopf habe.) –

Verwandte Themen