2

create_upload_urlを使用してGAEブロブストアに画像をアップロードしています

uploadURL = blobstore.create_upload_url('/upload')

gaeコードの単体テストを目的として、画像のアップロードをシミュレートできますか?または、テストベッドに画像データを挿入して、アップロードが成功したと想定する必要がありますか?もしそうなら、どのようにテストベッドに画像をアップロードしますか?

4

2 に答える 2

1

そこで何をテストしているのかについて@fredrikに同意してください。

とにかく、機能/ブラックボックス/類似のテストを行っている場合は、単純にWebtest フレームワーク(post方法を参照) を使用して、実際のアップロードを行うことができます。

payload = [(fieldname, filename)]
test_app.post(uploadURL, upload_files=payload)

上記のtest_appを初期化する方法の詳細については、Python のハンドラー テストを参照してください。

于 2012-06-07T09:39:37.453 に答える
0

テストの外観に関するコードを提供していただけますか?

webapp2 を使用して、upload_url へのリクエストを偽造できるはずです。リクエストを偽造する方法のサンプル コードについては、こちらをご覧ください。

一方で、テストの目的が何であるかを考える必要があります。画像のアップロードが機能することをテストすることが目的ですか、それともアップロードが完了した後のコードの動作ですか?

単体テストを実行するときは、他のライブラリへの依存関係を壊して、自分のコードのみをテストできるようにします。そして、実装テストの新しいスイートを追加します。つまり、 と url のリクエストを作成し、期待される応答が得られることを確認します。上記test_redirect_if_no_sessionの例のように、ユーザーを必要とするページにリクエストを送信し、リダイレクト (http レスポンス コード 302) を期待します。

..フレドリック

于 2012-06-07T08:52:37.810 に答える