针对PUT请求的Django Rest Framework单元测试

问题描述 投票:0回答:1

“ test_put_method_success”显示AssertionError:404!=200。如何解决? ...............................

class BasicTest(APITestCase):
    def setUp(self):
        self.client = Client()
        self.user = User(username="admin", email="[email protected]")
        self.user.is_staff = True
        self.user.set_password('admin')
        self.user.save()


    def test_put_method_success(self):
        url = "http://127.0.0.1:8000/settings/modules/1/"
        data = {
            'modulename': "Module test update",
            'activation_status': "Active"
        }

        self.assertTrue(self.client.login(username="admin", password="admin"))
        response = self.client.put(url, data, format='json')
        print(response.status_code)
        self.assertEqual(response.status_code, status.HTTP_200_OK)

urls.py

from rest_framework import routers

router = routers.DefaultRouter()
router.register('modules', views.ModuleView)

urlpatterns = [
    path('', include(router.urls)),
]
django django-rest-framework python-unittest django-testing
1个回答
0
投票

默认情况下,DRF PUT不会创建实例。您需要一些额外的步骤,例如explained by the documentation

© www.soinside.com 2019 - 2024. All rights reserved.