1
resposta

Como realizar testes referente a camada de Persistência?

Olá, boa tarde. Caso a funcionalidade a ser testada faça parte da persistência, ou seja, algo relacionado a um CRUD, como exemplo "cadastrarUsuario(Usuario usuario)", o qual insere um usuário no banco.

Como devo criar um teste para testar essa funcionalidade específica de persistência? Qual o padrão?

Devemos inserir usuários "Fictícios" no banco de dados cada vez que o teste é rodado? Isso não é ruim? E caso o usuário não tenha sequence na chave primária, o teste iria dar erro de chave duplicada a cada veze que tentasse inserir o mesmo usuário fixo cadastrado?

Ou simplesmente "mockar/fingir" a inserção ao banco? Apesar que dessa forma....o cadastro na realidade não está sendo realmente testado...

Enfim, quais os padrões e costumes usados no mercado para testes referente as funcionalidades de persistência?

Desde já, agradeço pela atenção!!!!

1 resposta

Diogo, tudo bem ?

Se você quer testar alguma regra de negócio e seu método usa o banco, o correto nesse caso é mockar o banco de dados.

Agora se você quer testar se seus métodos do banco de dados estão rolando, o que a galera geralmente faz é o seguinte, abre transações para cada método de teste e no final damos um rollback.

Outra coisa é usar um banco de dados em memória, se torna mais rápido para executar os testes e além disso não tem como influenciar nos dados do banco em si.

Espero ter ajudado, abraços

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software