Jak skutecznie przetestować jednostkę DAL, która korzysta z ADO.NET i SQL Server z NUnit?

Więc masz DAL w C #, który używa wzorca Repository i masz interfejs dla każdego Repozytorium. Jest wspierany przez wywołania ADO.NET, MS SQL Server i Stored Procedure.

Świetnie nadaje się do korkowania / wyśmiewania repozytorium, w którym jest używane w innym miejscu, podczas wykonywania testów jednostkowych, i I Love it!

Chciałbym jednak dodać kilka testów jednostkowych dla samego DAL. Najlepiej używać Rhino Mocks z NUnit. Jestem jednak otwarty na przejście na MoQ, jeśli można by zrobić solidną sprawę, że może zrobić coś, czego Rhino nie może w związku z tym pytaniem.

Wolałbym, żeby nie rozmawiał z żadnym DB podczas Testów Jednostkowych, aby utrzymać ich bardziej „czystymi”, a jednocześnie skutecznie testować sam DAL. Jeśli jednak nie można naprawdę efektywnie przetestować DAL-a bez rozmowy z DB, jakie byłyby alternatywy, które mogłyby być w zamiennikach pamięci lub przenośnych zamiennikach opartych na plikach, które są kompatybilne z SQL Server i tymi samymi wywołaniami SqlConnection i SqlCommand.

Otwarty na refaktoryzację DAL, jeśli to konieczne, aby ułatwić wstrzykiwanie, o ile nie spowoduje to komplikacji projektu w tym samym czasie. Już używa Microsoft Unity, dla DI z Repozytorium.

questionAnswers(1)

yourAnswerToTheQuestion