1
resposta

Resolução

from django.test import TestCase
from escola.models import Estudante, Curso, Matricula


class ModelEstudanteTestCase(TestCase):
    # def teste_falha(self):
    #     self.fail('Teste falhou :(')
    def setUp(self):
        self.estudante = Estudante.objects.create(
            nome = "Teste de Modelo",
            email = 'teste@modelo.com',
            cpf = '79454794485',
            data_nascimento = '1999-10-14',
            celular = '81 99999-9999'
        )
        self.curso = Curso.objects.create (
            codigo = 'ABC',
            descricao = 'Teste de texto para uma descrição',
            nivel = 'A'
        )
        self.matricula = Matricula.objects.create(
            estudante = self.estudante,
            curso = self.curso,
            periodo = 'Matutino'
        )
    
    def test_verifica_atributos_de_estudante(self):
        """Teste que verifica os atributos do modelo de estudante"""
        self.assertEqual(self.estudante.nome, 'Teste de Modelo')
        self.assertEqual(self.estudante.email, 'teste@modelo.com')
        self.assertEqual(self.estudante.cpf, '79454794485' )
        self.assertEqual(self.estudante.data_nascimento, '1999-10-14')
        self.assertEqual(self.estudante.celular, '81 99999-9999')

        """Teste que verifica os atributos do modelo de curso"""
        self.assertEqual(self.curso.codigo,'ABC' )
        self.assertEqual(self.curso.descricao, 'Teste de texto para uma descrição')
        self.assertEqual(self.curso.nivel, 'A')

        """Teste que verifica os atributos do modelo de matricula"""
        self.assertEqual(self.matricula.estudante, self.estudante)
        self.assertEqual(self.matricula.curso, self.curso)
        self.assertEqual(self.matricula.periodo, 'Matutino')
1 resposta

Oi, Claudia! Como vai?

Agradeço por compartilhar sua resolução com a comunidade Alura.

Sua implementação está muito bem feita! Você organizou os testes de forma clara, cobrindo os principais atributos de cada model (Estudante, Curso e Matricula) e utilizando corretamente o setUp para preparar os dados. Isso torna os testes mais eficientes e legíveis.

Continue praticando — testes bem escritos são essenciais para garantir a qualidade e manutenção do projeto.

Ícone de sugestão Para saber mais:

Escrever testes com TestCase no Django ajuda a garantir que os modelos e lógicas do projeto estejam funcionando como o esperado. Além disso, testes bem estruturados facilitam a manutenção do código a longo prazo.

Veja este artigo da Alura para entender melhor como organizar seus testes: Testes unitários

Alura

Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!