将 APITestCase 与 django-rest-framework 一起使用

using APITestCase with django-rest-framework

我遵循了这个代码:

from django.core.urlresolvers import reverse
from rest_framework import status
from rest_framework.test import APITestCase

class AccountTests(APITestCase):
    def test_create_account(self):
        """
        Ensure we can create a new account object.
        """
        url = reverse('account-list')
        data = {'name': 'DabApps'}
        response = self.client.post(url, data, format='json')
        self.assertEqual(response.status_code, status.HTTP_201_CREATED)
        self.assertEqual(response.data, data)

在此处的 django-rest-framewok 文档中找到:

DRF API-guide: Testing example

我用单个字段 name 创建了一个 Model,但我仍然收到“错误请求 400 错误”。视图和 reverse 名称也设置正确,我手动测试查看 URL 成功。我没有启用身份验证

不知道我是否遗漏了一步?

有人有 django-rest-framework APITestCase create model object 测试代码片段的工作示例吗?

这个 GIT 存储库有几个工作示例,我能够遵循这些示例并使 APITestCase 工作:

django-rest-framework-oauth2-provider-example/apps/users/tests.py

可能是 JSON 解码错误。

在行 self.client.post(url, data, format='json') 中使用 json.dumps(data) 并尝试。