0

Django ユニット テストを使用して、ファイルのダウンロードをテストしています。これは、必要なトークンを GET パラメーターとして使用する API 呼び出しとして機能しますが、特別なことは何もありません。コードは次のとおりです。

from django.test.client import Client

c = Client()

base_url = str(sample_download_resource_uri) + '?token=' + str(account_token)
response = c.get(base_url)

if response.status_code != 200:
    return False, "Status code for /download_attachment/XYZ/ is not 200"

URL は次のようなものです:/download_attachment/1/または/download_attachment/2/

ファイル ID によって異なります。

単体テストを実行しようとすると、次の行で:

if response.status_code != 200:

エラーが発生します:I/O exception on closed file.

ブラウザーで呼び出しからの URL を試してみると、完全に機能します。

私は、tests.py ファイルと tests コマンドを使用して単体テストを実行するのではなく、Django ビューを使用して Web サーバーをリモートで単体テストします。しかし、GET コマンドと POST コマンドの両方に対して、他のすべてのダウンロード以外の単体テストが機能するため、違いはありません。

4

0 に答える 0