我想为Django REST框架应用程序的视图编写一个单元测试。测试应该使用PUT上传一个文件,本质上等同于
http -a malkarouri PUT http://localhost:8000/data-packages/upload/ka @tmp/hello.py
到目前为止我写的代码是
factory = APIRequestFactory()
request = factory.put( '/data-packages/upload/ka',
data,
content_type='application/octet-stream',
content_disposition="attachment; filename=data.dump")
force_authenticate(request, user)
view = PackageView.as_view()
response = view(request, "k.py")
显然,它不会上传文件。运行测试时的特定错误为400:
{u'detail': u'Missing filename. Request should include a Content-Disposition header with a filename parameter.'}
值得注意的是,我使用一个请求工厂来测试视图,而不是一个完整的客户端。这就是为什么像this question中的解决方案不适合我。在
设置内容处置标头的正确方法是什么?在
嗨,您需要使用SimpleUploadedFile包装器:
Ps:我正在使用
APITestCase
相关问题 更多 >
编程相关推荐