我试图在DRF中编写单元测试,以便将格式错误的json发布到客户端。但是,由于client.post需要一个python dict,它序列化为json字符串,如何发送格式错误的json字符串来测试响应?
def test_create_resource_malformed_data(self):
""" Send malformed data """
malformed_data = '{"malformed":"json"}'
test_response = self.client.post(self.url_create, malformed_data, format="json")
相关追溯:
File "/anaconda/lib/python3.4/site-packages/rest_framework/test.py", line 66, in _encode_data
ret = renderer.render(data)
File "/anaconda/lib/python3.4/site-packages/rest_framework/renderers.py", line 160, in render
view = renderer_context['view']
KeyError: 'view'
答案 0 :(得分:2)
来自documentation for Client
(其余框架APIClient
扩展Django' s Client
):
如果您提供
content_type
(例如text/xml
表示XML有效负载),则数据内容将在POST请求中按原样发送,使用{{1在HTTP Content-Type标头中。
所以你可以这样做:
content_type