我编写了一个简单的单元测试来测试django视图。视图上传图像文件,该文件与请求对象一起传递到S3。你知道吗
代码:
url = 'view-endpoint-url'
myfile = open('pathtoimage')
payload = {'data1': 'xyz', 'file': myfile}
response = client.post(url, payload, MULTIPART_CONTENT)
此时调用被测视图时:图像文件按预期存储在中request.FILE文件InMemoryUploadedFile类型的['file']。你知道吗
当视图试图打开时(request.FILE文件['file'])和read()我得到一个
IOError no such file or directory
我很困惑,因为图像文件确实存在于该位置中,但由于某些原因它没有被提取。我用curl命令做了类似的测试,一切正常。你知道吗
有什么方法可以帮助我进行单元测试吗?你知道吗
更新:
基本上,我试图获取InMemoryUploadedFile的文件路径来对视图进行单元测试
解决方案
通过在测试的同一视图中读取文件,而不是使用另一个实用方法读取InMemoryUploadedFile,修复了此问题。你知道吗
由于某些原因,当在不同的文件夹中使用实用程序方法读取InMemoryUploadedFile时,它会失去文件路径的跟踪。你知道吗
通过在测试的同一视图中读取文件,而不是使用另一个实用方法读取InMemoryUploadedFile,修复了此问题。你知道吗
由于某些原因,当在不同的文件夹中使用实用程序方法读取InMemoryUploadedFile时,它会失去文件路径的跟踪。你知道吗
相关问题 更多 >
编程相关推荐