Если я использую библиотеку только во время выполнения набора тестов, должна ли она быть в нормальных пакетах или пакетах dev в моем Pipfile?
- Мы используем встроенный юнит-тест (или оболочки Django) для тестирования проекта Python.
- В некоторых из этих тестов мы используем библиотеки вроде
freezegun
или жеmock
, которые не используются нигде в производственной кодовой базе. - Наш CI, который запускает тесты, устанавливает все deps перед тестовым запуском, поэтому обычно мы помещаем их в dev-deps.
Часто ли оставить тех, кто в dev-packages
раздел Pipfile, или пакеты, связанные с тестированием, также должны находиться в packages
?
1 ответ
Небольшая заметка о mock
так как Python v3.3 это часть unittest
модуль.
Сказал, что теоретически было бы лучше хранить такие пакеты в dev-зависимости. На практике вы можете игнорировать проблему, если вы
- у вас тонны зависимостей
- некоторую зависимость сложно установить (может быть, для этого требуется установленный компилятор C или что-то подобное)