我有测试代码,但显示错误: self.assertEquals(response.status_code, 200) 断言错误:404!= 200
class TestViews(TestCase):
def setUp(self):
self.client = Client()
self.list_url = reverse('home')
self.about_url = reverse('about', args=[1])
def test_index(self):
response = self.client.get(self.list_url)
self.assertEquals(response.status_code, 200)
self.assertTemplateUsed(response, 'job_app/index.html')
def test_about(self):
response = self.client.get(self.about_url)
self.assertEquals(response.status_code, 200)
self.assertTemplateUsed(response, 'job_app/about.html')
我的网址:
path('about/<int:pk>/', views.about.as_view(), name='about'),
视图:
class about(DetailView):
model = JobsModel
template_name = 'job_app/about.html'
context_object_name = 'job'
我不知道该怎么办
您没有创建
JobsModel
记录。您应该首先创建一个:
class TestViews(TestCase):
def setUp(self):
self.client = Client()
# may require values 🖟🖟
self.job = JobsModel.objects.create()
self.list_url = reverse('home')
self.about_url = reverse('about', args=[self.job.pk])
def test_index(self):
response = self.client.get(self.list_url)
self.assertEquals(response.status_code, 200)
self.assertTemplateUsed(response, 'job_app/index.html')
def test_about(self):
response = self.client.get(self.about_url)
self.assertEquals(response.status_code, 200)
self.assertTemplateUsed(response, 'job_app/about.html')
注意:在 Django 中,基于类的视图 (CBV) 通常具有
后缀,以避免与模型名称冲突。 因此,您可能会考虑将视图类重命名为…View
,而不是AboutView
。About
注意:型号通常没有
后缀。因此,最好将…Model
重命名为JobsModel
。Job