在Django Rest Framework中测试PUT请求

杰克·穆赫恩(Jake Mulhern)

当我运行此测试时

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的品牌和型号?

威廉·范·昂塞姆(Willem Van Onsem)

如果您的视图确实响应了PUT请求,则问题出在测试本身。您需要使用[Django-doc]从数据库刷新数据.refresh_from_db(…)

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')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django Rest Framework and JSONField

来自分类Dev

每个用户请求的Django Rest Framework指标

来自分类Dev

Django REST Framework批处理PUT(更新)

来自分类Dev

如何在Django REST Framework中测试视图混合?

来自分类Dev

Django Rest Framework API

来自分类Dev

Django Rest Framework-测试中的AssertionError

来自分类Dev

唯一模型字段上的Django Rest Framework PUT请求

来自分类Dev

在Django Rest Framework中创建或更新(使用PUT)

来自分类Dev

Django Rest Framework JWT 400错误请求

来自分类Dev

根据请求类型更改Django REST Framework ModelSerializer中的字段?

来自分类Dev

在Django REST Framework中何处更改POST请求的响应

来自分类Dev

如何在Django REST Framework中设置POST请求的权限?

来自分类Dev

Django REST Framework-在序列化程序测试中设置请求?

来自分类Dev

Django Rest Framework不会像标准POST请求那样对Multipart请求中的JSON字段进行解码

来自分类Dev

Django REST Framework:使用列表测试POST请求时出错

来自分类Dev

Django REST Framework-在ApiClient的序列化程序测试中设置请求

来自分类Dev

Django Rest Framework的ModuleNotFoundError

来自分类Dev

测试中的reverse()仅在django-rest-framework测试中返回相对URL,这会导致404

来自分类Dev

Django Rest Framework未显示PATCH / PUT请求的表单字段

来自分类Dev

在Django Rest Framework中进行测试,是否会重现此curl请求?

来自分类Dev

Django Rest Framework:默认外键为请求中的值

来自分类Dev

在Django Rest Framework中的任何类型的请求之前执行操作

来自分类Dev

使用Django Rest Framework,nginx和uwsgi处理PUT请求返回403错误

来自分类Dev

Django Rest Framework测试类错误

来自分类Dev

Django Rest Framework不会像标准POST请求那样对Multipart请求中的JSON字段进行解码

来自分类Dev

django rest框架中'PUT'请求Ajax中的禁止403错误

来自分类Dev

在 Django REST Framework 中更新/放置请求

来自分类Dev

如何从 Django Rest Framework 接收 POST 请求?

来自分类Dev

向 Django Rest Framework 发送 PATCH 请求

Related 相关文章

  1. 1

    Django Rest Framework and JSONField

  2. 2

    每个用户请求的Django Rest Framework指标

  3. 3

    Django REST Framework批处理PUT(更新)

  4. 4

    如何在Django REST Framework中测试视图混合?

  5. 5

    Django Rest Framework API

  6. 6

    Django Rest Framework-测试中的AssertionError

  7. 7

    唯一模型字段上的Django Rest Framework PUT请求

  8. 8

    在Django Rest Framework中创建或更新(使用PUT)

  9. 9

    Django Rest Framework JWT 400错误请求

  10. 10

    根据请求类型更改Django REST Framework ModelSerializer中的字段?

  11. 11

    在Django REST Framework中何处更改POST请求的响应

  12. 12

    如何在Django REST Framework中设置POST请求的权限?

  13. 13

    Django REST Framework-在序列化程序测试中设置请求?

  14. 14

    Django Rest Framework不会像标准POST请求那样对Multipart请求中的JSON字段进行解码

  15. 15

    Django REST Framework:使用列表测试POST请求时出错

  16. 16

    Django REST Framework-在ApiClient的序列化程序测试中设置请求

  17. 17

    Django Rest Framework的ModuleNotFoundError

  18. 18

    测试中的reverse()仅在django-rest-framework测试中返回相对URL,这会导致404

  19. 19

    Django Rest Framework未显示PATCH / PUT请求的表单字段

  20. 20

    在Django Rest Framework中进行测试,是否会重现此curl请求?

  21. 21

    Django Rest Framework:默认外键为请求中的值

  22. 22

    在Django Rest Framework中的任何类型的请求之前执行操作

  23. 23

    使用Django Rest Framework,nginx和uwsgi处理PUT请求返回403错误

  24. 24

    Django Rest Framework测试类错误

  25. 25

    Django Rest Framework不会像标准POST请求那样对Multipart请求中的JSON字段进行解码

  26. 26

    django rest框架中'PUT'请求Ajax中的禁止403错误

  27. 27

    在 Django REST Framework 中更新/放置请求

  28. 28

    如何从 Django Rest Framework 接收 POST 请求?

  29. 29

    向 Django Rest Framework 发送 PATCH 请求

热门标签

归档