Wie effektiv Unit Test einer DAL, die ADO.NET und SQL Server mit NUnit verwendet?

Sie haben also eine DAL in C #, die das Repository-Muster verwendet, und Sie haben eine Schnittstelle für jedes Repository. Es wird durch ADO.NET-, MS SQL Server- und Stored Procedure-Aufrufe unterstützt.

Dies ist großartig, um das Repository dort zu stubben / verspotten, wo es verwendet wird, wo es bei Unit-Tests verwendet wird, und ich liebe es!

Ich würde jedoch gerne einige Unit-Tests für die DAL selbst hinzufügen. Vorzugsweise Rhino Mocks mit NUnit verwenden. Ich bin jedoch offen für einen Wechsel zu MoQ, wenn ein solider Fall vorliegt, dass Rhino in Bezug auf diese Frage etwas nicht kann.

Ich möchte lieber nicht, dass es während der Unit-Tests mit einer Datenbank spricht, um sie "reiner" zu halten und gleichzeitig die DAL selbst effektiv zu testen. Wenn Sie eine DAL jedoch nicht wirklich effektiv testen können, ohne mit einer Datenbank zu sprechen, welche Alternativen könnten sich in Speicherersetzungen oder portablen dateibasierten Ersetzungen befinden, die mit SQL Server und denselben SqlConnection- und SqlCommand-Aufrufen kompatibel sind?

Das DAL kann bei Bedarf umgestaltet werden, um das Injizieren zu vereinfachen, sofern dies nicht gleichzeitig das Design verkompliziert. Microsoft Unity für DI wird bereits mit dem Repository-Muster verwendet.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage