使用Django和Webtest测试图像上传

Ili*_*iev 5 django tdd webtest django-webtest

有谁知道如何使用WebTest测试图像上传.我目前的代码是:

form['avatar'] =('avatar', os.path.join(settings.PROJECT_PATH, 'static', 'img', 'avatar.png'))
res = form.submit()
Run Code Online (Sandbox Code Playgroud)

在响应中,我收到以下错误"上传有效图像.您上传的文件不是图像或损坏的图像.".

任何帮助将不胜感激.

Ili*_*iev 6

权力是对的.不幸的是(或者没有)我花了半个小时调试webtest后找到了答案.这里有更多信息.

尝试仅传递文件的路径会带来以下异常:

webtest/app.py",第1028行,在_get_file_info中

ValueError:upload_files需要是(fieldname,filename,filecontent)或(fieldname,filename)元组的列表; 你给了: ...

问题是没有告诉你它会自动将字段名称附加到元组发送并将3项元组添加到4项目中.最终的解决方案是:

avatar = ('avatar',
           file(os.path.join(settings.PROJECT_PATH, '....', 'avatar.png')).read())
Run Code Online (Sandbox Code Playgroud)

太糟糕了,没有像样的例子,但我希望这也能帮助其他人)