Eu sou novo no teste de unidade e preciso de ajuda com o seguinte.
Eu criei um pequeno projeto para me ajudar a aprender como fazer testes de unidade. A funcionalidade de um dos formulários no meu aplicativo exclui um usuário da tabela Usuário (e outras linhas nas tabelas de mapeamento).
Atualmente, o teste de unidade que criei para testar isso configura os objetos necessários e, em seguida, chama o método de regras de negócios (passando o ID do usuário) que chama o método de acesso a dados para executar o procedimento armazenado que exclui as linhas nas tabelas.
Esse é o método correto para testar se algo está sendo excluído com sucesso? O método de teste / configuração da unidade deve inserir primeiro alguns dados de teste que o teste de unidade exclui?
fonte
when you are directly testing a DB, it isn't a unit test anymore but integration test.
Você tem certeza? Se você está testando como um aplicativo funciona com um banco de dados, isso é integração, com certeza, mas é possível testar um banco de dados: blogs.msdn.com/b/atverma/archive/2010/07/28/…Será muito mais fácil escrever testes de unidade para procedimentos armazenados em SQL. Dê uma olhada no tSQLt . Evite testar novamente os procedimentos armazenados em seus testes de unidade C #; siga o conselho de catraca e zombe do banco de dados para testar o código C #.
fonte
você deve zombar do banco de dados (abstrato) ao testar o formulário
essencialmente fornecendo uma implementação fictícia que faz o mínimo necessário para concluir os testes
Dessa forma, quando você chama enviar no formulário, pode ver se deleteUser no acesso a dados é chamado
fonte