Получить ошибку класс 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() внутри каждого метода