我正在 Django 在 GET API 上编写一个测试用例。我只想通过第一次测试。这是我的代码。
class InventoryItemDetailTestCase(APITestCase):
"""
This is the API test case for the reserve/express detail api
"""
def setUp(self):
self.resource_uri = '/api/v2/inventory/inventory_item_detail/1233/'
def test_inventory_item_detail_route(self):
"""
Test to set routing for item_detail
"""
route = resolve('/api/v2/inventory/inventory_item_detail/1233/')
self.assertEqual(route.func.__name__, 'InventoryItemDetails')
def test_inventory_item_detail_data(self):
"""
Test case to check the response json of the reserve/express API
"""
response = self.client.get('/api/v2/inventory/inventory_item_detail/1233/')
self.assertEqual(response.status_code, 200)
在这里,我使用 client.get 提出请求。但它给了我错误
为别名“默认”创建测试数据库...
F
失败:test_inventory_item_detail_data (inventory.tests.functional_tests.InventoryItemDetailTestCase)
回溯(最近一次通话最后):文件“/Users/chitrankdixit/Documents/work/flyrobe/flyrobe-django/project/inventory/tests/functional_tests.py”,第 131 行,在 >test_inventory_item_detail_data self.assertEqual(response.status_code, 200)断言错误:400!= 200
在 0.135 秒内运行 1 次测试
失败(失败=1)
我试图用它pdb.set_trace()
来找出即将发生的错误,并且在我运行时我已经知道了
self.client.get('/api/v2/inventory/inventory_item_detail/1233/')
我收到这个错误
*** KeyError:“内容类型”
我尝试提供一个额外的参数名称content_type
,例如
self.client.get('/api/v2/inventory/inventory_item_detail/1233/', content_type='application/json')
但我仍然得到同样的错误。我能够单独运行 API,并且我的 API 正在获取正确的响应。如果有人在此之前经历过,请告诉我。