2017-06-16 18 views
0

Flaskでファイルアップロード機能の単体テストを書いています。Flask Unit Testで400を取得する

アプリはローカルではうまく動作しますが、ユニットテストでは400がスローされます。ありがとうございました!

は、ここに私のapp.py

from flask import Flask, render_template, request 
app = Flask(__name__) 
app.config["TESTING"] = True 


@app.route('/') 
def index(): 
    return render_template('index.html') 

@app.route('/uploader', methods = ['GET','POST']) 
def upload_photo(): 
    if request.method == 'POST': 
     photo = request.files['photo'] 
     resp = app.make_response(photo.read()) 
     resp.mimetype = 'image/jpeg' 
     return resp 

if __name__ == '__main__': 
    app.run(debug=True) 

は、ここに私のテストだだ:

import unittest 
import io 
from app import app 


class TestCase(unittest.TestCase): 

    def setUp(self): 
     self.client = app.test_client() 

    def test_upload_photo(self):    
     result = self.client.post('/uploader', 
    content_type='multipart/form-data', follow_redirects=True, 
    data=dict(upload_var=(io.BytesIO(b'photo'), 'photo'))) 
     print(result.data) 
     self.assertTrue(result.status_code == 200) 


if __name__ == "__main__": 
    unittest.main()` 
+0

エラーのトレースバックを含めることができますか? –

+0

@LuisOrduzトレースバックを行うと、次の出力が得られます。 'NoneType:None' – greenpenguin

答えて

0

変更upload_varphotoにデータ・ディクショナリに、それはあなたのハンドラ関数が呼び出されるのファイルを期待しているものだと。

+0

ありがとう@Luis Orduz、うまくいきました。私はそれがそれのようなものであることを知っていた! – greenpenguin

+0

それで、あなたは答えを受け入れることができますか? –

+0

が完了しました。申し訳ありません。 – greenpenguin

関連する問題