大佬教程收集整理的这篇文章主要介绍了在 Django Rest Framework 中测试 PUT 请求,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当我运行此测试时
def test_update_car(self):
new_car = Car.objects.create(make='Chevy',model='Equinox',year=2012,seats=4,color='green',VIN='12345671234567abc',current_mileage=19000,service_interval='3 months',next_service='april')
url = reverse('car-detail',kwargs={'pk': new_car.pk})
data = {
'make': 'test','model': 'test','year': 2014,'seats': 5,'color': 'blue','VIN': '12345671234567abc','current_mileage': 20000,'service_interval': '6 months','next_service': 'July',}
response = self.clIEnt.put(url,data=data)
self.assertEqual(response.status_code,status.http_200_OK)
self.assertEqual(new_car.make,'test')
我收到断言错误
AssertionError: 'Chevy' != 'test'
我应该如何以不同的方式构造它,以便 PUT 请求实际更改 new_car 的品牌和型号?
如果您的视图确实响应了 PUT 请求,则问题出在测试本身。您需要使用 .refresh_from_db(…)
[Django-doc]:
def test_update_car(self):
new_car = Car.objects.create(make='Chevy',model='Equinox',year=2012,seats=4,color='green',VIN='12345671234567abc',current_mileage=19000,service_interval='3 months',next_service='april')
url = reverse('car-detail',kwargs={'pk': new_car.pk})
data = {
'make': 'test','model': 'test','year': 2014,'seats': 5,'color': 'blue','VIN': '12345671234567abc','current_mileage': 20000,'service_interval': '6 months','next_service': 'July',}
response = self.client.put(url,data=data)
new_car.refresh_from_db()
self.assertEqual(response.status_code,status.http_200_OK)
self.assertEqual(new_car.make,'test')
以上是大佬教程为你收集整理的在 Django Rest Framework 中测试 PUT 请求全部内容,希望文章能够帮你解决在 Django Rest Framework 中测试 PUT 请求所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。