将 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)
并尝试。
我遵循了这个代码:
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)
并尝试。