StructureMap: Wie kann ich die Registrierungsklasse testen?

8

Ich habe eine Registrierungsklasse wie folgt:

%Vor%

Ich möchte testen, dass die Konfiguration meiner Absicht entspricht, also fange ich an, einen Test zu schreiben:

%Vor%

Wie kann ich überprüfen, ob die Registrierung meinen Erwartungen entspricht? Hinweis: Ich habe den Container eingeführt, da in der Registry-Klasse keine Verifizierungsmethoden verfügbar waren. Idealerweise möchte ich direkt auf der Registrierungsklasse testen.

    
Marius 18.03.2010, 11:24
quelle

3 Antworten

3

Stellen Sie sich eine Registry-Klasse wie eine Konfigurationsdatei vor - es macht keinen Sinn, sie isoliert zu testen, aber Sie möchten vielleicht testen, wie eine andere Klasse darauf reagiert. In diesem Fall würden Sie testen, wie sich ein Container verhält, wenn Sie eine Registrierung erhalten. Sie befanden sich also auf dem richtigen Weg, indem Sie den Container in Ihren Test einführten.

In Ihrem Test können Sie einen IDateTimeProvider anfordern und bestätigen, dass der zurückgegebene konkrete Typ dem Typ entspricht, den Sie erwarten. Sie können auch 2 Instanzen aus dem Container abrufen und bestätigen, dass sie dieselbe Instanz (ReferenceEquals) sind, um das Singleton-Verhalten zu überprüfen.

    
Joshua Flanagan 21.03.2010 20:15
quelle
3

Innerhalb von StructureMap wird eine Registry verwendet, um ein PluginGraph ; Um eine Registry zu testen, müssen Sie überprüfen, ob das Design die richtige Grafik erzeugt. Leider wird die Testüberprüfung am besten gegen eine interne Eigenschaft durchgeführt, hier ein Beispiel:

%Vor%

Das Testen gegen eine interne Eigenschaft ist niemals wünschenswert, aber im Falle des Testens von Registry's war es der beste Ansatz, den ich gefunden habe. Die Erweiterungsmethode versucht nur schlau genug zu sein, um Tests, die darauf angewiesen sind, nicht eindeutig zu machen, wenn sich die interne API ändert.

    
STW 17.10.2012 15:40
quelle
0

Überprüfen Sie dieses interessante Atircle Ссылка zum Beispiel:

%Vor%     
moi_meme 06.10.2014 13:12
quelle

Tags und Links