我在django 2.2中有一个应用程序,正在尝试用factory-boy测试更新。 我收到一个错误:
AssertionError: 302 != 200 : Couldn't retrieve content: Response code was 302 (expected 200)
我会很感激每一个提示
查看代码:
class SpotUpdateView(UpdateView):
model = Spot
fields = ['title', 'description']
template_name = 'spot/spot_update.html'
context_object_name = 'spot_detal'
def get_success_url(self):
return reverse('spot_detail_url', kwargs={'slug': self.object.slug, 'id': self.object.id})
网址:
path('post/update/<str:slug>/<int:id>/', login_required(SpotUpdateView.as_view()), name='spot_update_url'),
单元测试代码
def test_spot_update(self):
self.client.login(username='user', password='123!')
spot_object = SpotFactory.create()
response = self.client.post(reverse('spot_update_url', kwargs={'id': spot_object.id, 'slug': spot_object.slug}), {'title': 'My new title', 'description': 'After update'})
self.assertEqual(response.status_code, 302)
spot_object.refresh_from_db()
self.assertContains(response, 'After update')