2009-07-07 12 views
0

Ich schreibe einige Komponententests und ich habe eine Unit-Test-Basisklasse, die die Transaktion öffnet und die Transaktion schließt. Der Zweck der Transaktion besteht darin, die Änderungen rückgängig zu machen, sodass die Datenbank leer ist, sobald die Komponententests beendet sind. Die Transaktion ist abhängig vom ISession-Objekt.NHibernate Sitzung und Repository

Jetzt ist das Problem, dass mein CustomerRepository Kundendaten in die Datenbank einfügen muss. Wie würde CustomerRepository die ISession erhalten, die von der BaseTest-Klasse geöffnet wurde?

Ich kann die ISession an das Repository im Konstruktor übergeben, aber das sieht hässlich aus? irgendwelche Vorschläge?

Antwort

3

IMHO Übergabe der ISession im Konstruktor des Repository ist das Richtige zu tun. Das ist die Abhängigkeitsinjektion von ...

+0

Ich werde in DI-Container schauen, damit ich diesen Schritt nicht manuell durchführen muss! Vielen Dank! – azamsharp

Verwandte Themen