1
resposta

Erro na requisição GET

Quando faço o teste da Requisição GET, retorna esse erro:

ERROR: test_requisicao_get_para_listar_cursos (escola.test.test_cursos.CursosTestCase)
Teste para verificar se a requisição GET para listar os cursos
----------------------------------------------------------------------
Traceback (most recent call last):
  File "E:\ESCOLA_API_DRF\escola\test\test_cursos.py", line 22, in test_requisicao_get_para_listar_cursos
    response = self.client.get(self.list_url)
AttributeError: 'CursosTestCase' object has no attribute 'list_url'

Esse é o código de teste

from rest_framework.test import APITestCase
from escola.models import Curso
from django.urls import  reverse
from rest_framework import status

class CursosTestCase(APITestCase):

    def setUp(self):
        self.list_url = reverse('Cursos-list')
        self.curso_1 = Curso.objects.create(
            codigo_curso = 'CTT1', descricao='Curso teste 1', nivel='B'
        )
        self.curso_2 = Curso.objects.create(
            codigo_curso='CTT2', descricao='Curso teste 2', nivel='A'
        )

    # def test_falhador(self):
    #     self.fail('Teste falhou propositalmente')

    def test_requisicao_get_para_listar_cursos(self):
        """Teste para verificar se a requisição GET para listar os cursos"""
        response = self.client.get(self.list_url)
        self.assertEqual(response.status_code, status.HTTP_200_OK)
1 resposta

Olá Barbara, tudo bem com você?

Peço desculpas pela demora no retorno.

A mensagem de erro apresentada, AttributeError: 'CursosTestCase' object has no attribute 'list_url' está informando que foi realizado o uso de um atributo que não foi declarado na classe CursosTestCase, neste caso o atributo list_url.

Realizando alguns testes e simulações com o código apresentado, o erro não foi levantado, no código enviado na postagem o atributo list_url foi declarado corretamente na classe CursosTestCase. Como apresentado na seguinte linha de código: self.list_url = reverse('Cursos-list')

Peço que realize um novo teste, fazendo o uso do código enviado na postagem. Copie o código da sua postagem e cole-o no arquivo escola/test/test_cursos.py, após copiar o código, salve o arquivo e execute o comando abaixo no terminal aberto em seu projeto.

python manage.py test

Caso o erro permaneça, peço que envie o projeto completo para que eu possa realizar simulações e testes, basta fazer o upload dos arquivos em um repositório de sua preferência, e enviar o link de compartilhamento na resposta desta postagem.

Fico à disposição em caso de dúvidas.

Abraços e bons estudos.

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

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