Djangoコードテストでファイルを送信する。

テストコードを作成する場合に、ファイルを送信したテストをおこないたい場合がある。
方法として、2つ残しておく。

Viewでおこなう

Viewでのテストコードの基本的な書き方は、こちらを参照。

from django.test import TestCase,Client

def test_TestView(self):
        with open('[ファイル名]') as f:
            response = self.client.post(
                path='/api/[path]/',
                data={'filename': f},
            )

ファイルを読み込んだのち、送信データとして、設定をしてあげる。

コマンドでおこなう。

下記のコマンドを実行することで、ファイルを送信できる。

curl -k -X POST -F "filename=@ファイル名]" -H "Content-Disposition: attachment; filename=@ファイル名" http://localhost:8000/api/[path]/

※URL部分は適宜変更されたし