Django测试:AttributeError:“客户端”对象没有属性“获取”

时间:2020-08-19 05:42:28

标签: python django

我是Django框架的新手,我正在尝试为项目中的应用编写一些测试。目前,我有两个应用hoardingsclients都具有相同的基本CRUD功能。出于测试目的,我已经创建了一个测试目录,它看起来像这样

clients
 - tests
  -__init__.py
  - test_views.py

这就是我为两个应用程序维护测试的方式。test_views.py具有以下代码,

from django.test import TestCase
from django.urls import reverse
from hoardings.models import State, City
from clients.models import Client


class ClientManagementTest(TestCase):

    def setUp(self):

        self.state = State.objects.create(desc='West Bengal')

        self.city = City.objects.create(state=self.state, desc='Kolkata')

        self.client = Client()

    def test_client_creation_form_can_be_rendered(self):

        response = self.client.get(reverse('clients:create'))

        # Check that the response is 200 OK.
        self.assertEqual(response.status_code, 200)

        # check if csrf token is present
        self.assertContains(response, 'csrfmiddlewaretoken')

        # Check that the response contains a form.
        self.assertContains(response, '<form')

        # assert the context values
        self.assertIn('url', response.context)
        self.assertIn('heading', response.context)
        self.assertIn('states', response.context)
        self.assertIn('client_types', response.context)

您可以在设置方法中看到,我正在创建一个Client对象,该对象用于发送请求。但是,每次运行测试时,我都会遇到以下错误,

错误:test_client_creation_form_can_be_rendered (tests.test_views.ClientManagementTest) -------------------------------------------------- --------------------追溯(最近一次通话):文件 “ /home/ropali/Development/PythonWorkspace/hms_venv/hms/clients/tests/test_views.py”, 第19行,在test_client_creation_form_can_be_rendered响应= self.client.get(reverse('clients:create'))AttributeError:'Client' 对象没有属性“获取”

据我了解,这意味着未创建客户端对象,因此它找不到get属性,并且我也收到POST请求的类似错误。 但是有一件事让我感到困惑,我对hoardings应用有类似的测试设置,它运行得很好。 谁能帮我在这里做错什么,请让我知道您是否需要其他详细信息。

0 个答案:

没有答案