Я хотел бы использовать токсикодендрон запустить py.test на проект, который нуждается в дополнительной настройке в дополнение к установке пакетов в virtualenv. После создания virtualenv и установки зависимостей необходимо выполнить некоторые команды.Рекомендуемый способ выполнения команд после установки зависимостей в virtualenv
В частности, я говорю о создании узла и НПХ среды с использованием nodeenv:
nodeenv --prebuilt -p
Я вижу, что токсикодендрон позволяет мне обеспечить пользовательскую команду, используемую для установки зависимостей путем установки install_command
в tox.ini
. Но я не думаю, что это то, что я хочу, потому что заменяет команду (предположим, pip
), используемую для установки зависимостей.
Я думал об использовании py.test арматуры с сессии рамкой для обработки установки nodeenv, но это кажется Hacky ко мне, как я не хочу, чтобы это произошло, когда py.test запускается непосредственно, а не через Tox.
Каков наименее безумный способ достижения этого?
Кажется, это лучший способ. Мне просто нужно проверить, была ли эта команда уже вызвана, а не повторять ее снова в последующих тестовых прогонах. – Feuermurmel
Этот ответ в порядке, но он также пропускает отметку. Я хочу сделать то же самое - установить узел и его зависимости на этапе установки, отдельно от шага, в котором выполняются тесты. Эта рекомендация не будет работать, например, при запуске 'pytest -notest' - она установит среду Python, но не среду узла. Вероятно, токсин должен представлять 'install_commands' вместо просто' install_command', почти так же, как в средах CI установлены шаги, предшествующие шагам тестирования. –
Я отмечаю, что вместо whitelisting nodeenv вы можете вызывать nodeenv через python с помощью 'python -m nodeenv -prebuilt -p'. –