Я пишу несколько интеграционных тестов API ядра .NET, которые проверяют, правильно ли работает механизм загрузки файлов.

Мой вопрос: как лучше всего хранить файлы, которые я буду тестировать при загрузке? Мне нужно тестировать файлы размером 2+ гигабайта. Не кажется хорошей идеей включать эти тестовые файлы в систему управления решением / исходным кодом, поскольку они такие большие, поэтому какой рекомендуемый путь я выберу для написания интеграционных тестов для больших файлов?

1
kdeez 10 Май 2021 в 21:26

1 ответ

Лучший ответ

Я вижу два варианта

# 1 Если содержимое файла не важно, я бы сгенерировал поток размером xGB на лету (например, сериализуйте массив с парой миллионов ссылок на одну и ту же сложную структуру). Попробуйте создать правильный файл в консольном приложении и сохранить его локально, чтобы сначала проверить, соответствует ли он вашим ожиданиям.

# 2 Я бы рекомендовал разместить эти файлы в хранилище Azure. При необходимости вы можете сгенерировать подходящие токены SAS, чтобы сделать этот файл доступным напрямую через http-адрес, или загрузить их в виде потока с помощью BlobStorage Nuget Package. Хранилище BLOB-объектов также дешево. Или используйте любой сервер, на котором эти файлы могут быть размещены и доступны в ваших интеграционных тестах.

Однозначно не включайте эти файлы в проект!

2
MarekB 11 Май 2021 в 20:44