Я пытаюсь создать несколько тестов для загрузки на моем сайте Django. Он позволяет загружать несколько файлов, поэтому мне нужно проверить, загружены ли несколько файлов.
Тестирование одного файла прекрасно работает:
from django.test import Client
def test_stuff(self):
with open('....\file.csv','rb') as fp:
c = Client()
response = c.post('/', {'name': 'Some Name', 'email': 'some@email.com', 'file': fp})
Но попытка сделать это со списком файлов не работает.
def test_stuff(self):
file_list = # get list of file paths to open
myfiles = []
for file in file_list:
with open('....\file.csv','rb') as fp:
myfiles.append(fp)
c = Client()
response = c.post('/', {'name': 'Some Name', 'email': 'some@email.com', 'file':myfiles})
И ни один не делает:
def test_stuff(self):
file_list = # get list of file paths to open
myfiles = []
for file in file_list:
with open('....\file.csv','rb') as fp:
myfiles.append(fp)
c = Client()
response = c.post('/', {'name': 'Some Name', 'email': 'some@email.com',}, files={'file':myfiles})
или
def test_stuff(self):
file_list = # get list of file paths to open
myfiles = []
for file in file_list:
with open('....\file.csv','rb') as fp:
myfiles.append(fp)
c = Client()
response = c.post('/', {'name': 'Some Name', 'email': 'some@email.com'}, files=myfiles)
Мое представление получает файлы из request.POST.get('myfiles')
, но FILES
пусто.
Есть ли способ отправить несколько файлов с помощью тестового клиента django, или я должен использовать что-то еще?
Отредактировано, чтобы сделать более точным