Estou a praticar TDD e exercitando além das atividades da ementa do curso (Que utiliza apenas dados em memória sem a integridade física/banco de dados).
Quanto a criação de testes de unidade com banco de dados, digamos em um exemplo onde possuo duas classes de objetos (Pessoa e Documento - onde uma pessoa pode ter vários documentos e um documento pertence a apenas uma pessoa). Os passos para executar o teste, foram respectivamente, criar o cenário, salvar no banco de dados, buscar os registros salvos e comparar com o cenário estabelecido e então excluir os dados do banco (para não acumular informação de testes).
A questão é: implementei cinco testes unitários validando-os, e após, tive que implementar o sexto teste unitário. Este sexto teste fez com que os primeiros cinco, falhassem na validação dos dados e consequentemente deixando-os na base de dados (sem executar a parte de exclusão). Uma alternativa seria colocar um bloco try/finally para sempre executar a exclusão. Isso não me parece ser o correto e muito menos a preocupação com os dados esquecidos na base.
Qual a melhor forma para trabalhar com banco de dados? Tem algum material ou exemplo relacionado?
Desde já, grato pela atenção. Fica a sugestão para um futuro curso também.