有誰知道如何使用WebTest測試圖片上傳。我當前的代碼是:使用Django和Webtest測試圖片上傳
form['avatar'] =('avatar', os.path.join(settings.PROJECT_PATH, 'static', 'img', 'avatar.png'))
res = form.submit()
在我收到以下錯誤的響應「上傳有效的圖片您上傳的文件是不是沒有圖像或損壞的形象。」
任何幫助將不勝感激。
有誰知道如何使用WebTest測試圖片上傳。我當前的代碼是:使用Django和Webtest測試圖片上傳
form['avatar'] =('avatar', os.path.join(settings.PROJECT_PATH, 'static', 'img', 'avatar.png'))
res = form.submit()
在我收到以下錯誤的響應「上傳有效的圖片您上傳的文件是不是沒有圖像或損壞的形象。」
任何幫助將不勝感激。
權力是對的。不幸的是(或沒有)我花了半個小時調試webtest後發現了他的答案。這裏有更多的信息。
試圖只有路徑傳遞給文件,爲您帶來以下異常:
webtest/app.py", line 1028, in _get_file_info
ValueError: upload_files need to be a list of tuples of (fieldname, filename, filecontent) or (fieldname, filename); you gave: ...
的問題是不會告訴你,它會自動將字段名追加到元組發送和製作3項元組變成4項第1項。最終的解決方案是:
avatar = ('avatar',
file(os.path.join(settings.PROJECT_PATH, '....', 'avatar.png')).read())
太糟糕了,沒有像樣的例子,但我希望這將幫助其他人也是如此)
目前選擇的答案並沒有幫助我。
但我發現提供的.submit()方法ARGS
form.submit(upload_files=[('avatar', '/../file_path.png'))
我想你應該通過文件的預期目標文件的方式。 – power
不,如果傳遞文件對象,webtest將返回「ValueError:文件內容必須是而不是」 –
如果傳遞image_file.read()會發生什麼? – power