Como efetivamente testar um DAL que usa ADO.NET e SQL Server com NUnit?

Então você tem um DAL em C # que usa o padrão Repositório e você tem uma interface para cada Repositório. É apoiado por chamadas ADO.NET, MS SQL Server e Stored Procedure.

Isso é ótimo para arrancar / zombar do repositório onde ele está sendo usado em outro lugar ao fazer testes de unidade, e eu adoro isso!

No entanto, gostaria de adicionar alguns testes unitários para o DAL em si. De preferência usando Rhino Mocks com NUnit. No entanto, estou aberto a mudar para o MoQ se um caso sólido puder ser feito de forma que ele possa fazer algo que o Rhino não possa fazer em relação a essa questão.

Eu prefiro que ele não fale com nenhum DB durante os Testes de Unidade para mantê-los mais "puros", enquanto ainda testando efetivamente o DAL em si. Se, no entanto, você não puder realmente testar um DAL sem falar com um banco de dados, quais seriam as alternativas que poderiam estar nas substituições de memória ou em um arquivo portátil baseado em substituições compatíveis com o SQL Server e as mesmas chamadas SqlConnection e SqlCommand.

Abra para refatorar o DAL, se necessário, para facilitar a injeção, desde que isso não complique o design ao mesmo tempo. Já está usando o Microsoft Unity, para DI com o Padrão de Repositório.

questionAnswers(1)

yourAnswerToTheQuestion