1
resposta

Teste sem o banco de dados

Olá! Nesse vídeo o Guilherme disse que criaria uma instância do model para teste, mas não utilizaria o model.objects.create() pois não queria realmente criar o objeto no banco de dados. Mas acredito que faltou falar a razão, dizer que apenas é por ele quer é muito raso.

Alguém poderia dar uma explicação melhor de quando usar um jeito ou outro?

[]s

1 resposta

Olá Paulo, tudo bem com você?

Peço desculpas pela demora no retorno.

O motivo pelo qual o professor optou por não utilizar o método objects.create() ao criar a instância do modelo Programa durante os testes é que, ao utilizar esse método, um objeto seria criado no banco de dados e isso pode não ser desejado durante os testes, uma vez que os testes de unidade devem ser independentes e não devem afetar o estado do banco de dados ou de outras partes do sistema.

Por isso, é comum criar uma instância do modelo manualmente, como foi feito no código do professor, para que se possa testar os atributos e métodos do modelo sem afetar o banco de dados. Essa instância pode ser utilizada para chamar os métodos e atributos do modelo e testar seu comportamento esperado.

No entanto, é importante ressaltar que há casos em que é necessário testar a integração do modelo com o banco de dados, como em testes de integração, e nesses casos pode ser necessário utilizar o método objects.create() para criar objetos no banco de dados e testar seu comportamento real.

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!