Привет, Всем!
Пишу WEB-приложение с REST-архитектурой. Пишу применяя Python и микрофреймворк Flask, а для модульного тестирования исользую встроенный в стандартную библиотеку модуль unittest.
Сейчас мне надо написать тест по проверке фичи "закачка файлов".
Имеется некий URL, допустим 'myapplication.org/files/upload' . Для закачки файлов по этому URL-у шлется POST-запрос с файлом и JSON документов в котором указан токен.
Мое приложение обрабатывая такой запрос проверяет валидность токен и :
- Если не корректный отказывается выдая HTTP код ошибки 400
- или ложит принятый файл у себя в файловой системе с занесением информации о нем в БД и выдает HTTP код ошибки 201
При написании теста столкнулся с тем, что мне не нравится ни одно из моих решений касающихся хранения файлов необходимого для теста:
- Можно положить заранее приготовить файлов в папку 'tests\files\test00.bin'
- Можно сгенерировать во время работы setUp() метода и положить файл в 'tests\files\test00.bin'
- Можно передавать сам python-модуль в котором написан тест используя его в качестве тестового файла
Мне хочется услышать другие мнения. Прошу посоветовать и решить мою задачку с написанием теста