如何使用 Django Rest Framework 对 HTTP 删除进行单元测试

Jim*_*Jim 5 python django unit-testing django-rest-framework

我有一个简单的 ViewSet 来表示数据库中的模型,定义如下

class EventViewSet(viewsets.ModelViewSet)
Run Code Online (Sandbox Code Playgroud)

我有以下代码来对 HTTP GET 请求进行单元测试:

    client = APIClient()
    client.credentials(username="test", password="test")
    response = client.get("/api/events/")
    self.assertEqual(response.status_code, 200)
    self.assertEqual(len(response.data), 2)
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何进行相同类型的测试,但针对 HTTP 删除?

fal*_*tru 4

如果使用rest_framework.test.APIClient,则可以使用.get().post().put().patch().delete().head()方法.options()

data = {...}
response = client.delete("/api/events/", data=data)
Run Code Online (Sandbox Code Playgroud)