Получить ошибку класс TestInformLogin не имеет атрибута клиент

Я написал этот код для тестирования представлений в django когда я запускаю его, я получаю следующую ошибку

response = self.clinet.get(self.inform_list_url)
AttributeError: у объекта 'TestInformLogin' нет атрибута 'clinet'

from django.test import TestCase,Client
from django.urls import reverse
from KnowledgeManagement.models import Members , TblInform




class TestInformLogin(TestCase):
    def set_up_create_user(self):
        self.user = Members.objects.create(username='testuser',nationalCode = '1235' , mobileNumber = '094562', date_joined = '2021-11-22')
        self.user.set_password('12345')
        self.user.save()
        self.clinet = Client()
        self.clinet.login(username='testuser', password='12345')
        self.inform_list_url = reverse('inform_list')
        self.edit_inform_url = reverse('edit_inform', args= [1])

    def test_inform_list_GET(self):
        response = self.clinet.get(self.inform_list_url)
        self.assertEquals(response.status_code,200)
        self.assertTemplateUsed(response , 'inform_list.html')


    def test_edit_inform_GET(self):
        response = self.clinet.get(self.edit_inform_url)
        self.assertEquals(response.status_code,200)
        self.assertTemplateUsed(response , 'inform.html')

self.clinet определяется в методе set_up_create_user, но я не думаю, что вы когда-либо вызываете этот метод. Поэтому он не определен. Это должно исправить это...

    def test_inform_list_GET(self):
        self.set_up_create_user()
        response = self.clinet.get(self.inform_list_url)
        self.assertEquals(response.status_code,200)
        self.assertTemplateUsed(response , 'inform_list.html')


    def test_edit_inform_GET(self):
        self.set_up_create_user()
        response = self.clinet.get(self.edit_inform_url)
        self.assertEquals(response.status_code,200)
        self.assertTemplateUsed(response , 'inform.html')

Здесь ваши данные не установлены, когда вызывается test_inform_list_GET().

вы можете либо изменить set_up_create_user() на setUp() либо вызвать set_up_create_user() внутри test_inform_list_GET() и test_edit_inform_GET()

вы можете изменить set_up_create_user() на setUp() и он будет выполняться перед остальными методами или вызвать set_up_create_user() внутри каждого метода

Вернуться на верх