2016-10-07 7 views
2

Я хочу использовать setup.py в качестве органа, на упаковках, чтобы установить для тестирования, сделано с extra_requires так:токсикология тесты, использовать setup.py extra_require в токсикодендроне DEPS источника

setup(
    # ... 
    extras_require={ 
     'test': ['pytest', ], 
    }, 
) 

Tox только кажется, способный к файлу installing from a requirements.txt, который просто подразумевает шаг требований моментального снимка перед тестированием (который я не знаю, как это делается автоматически) или duplicating the test dependencies в ток-файл, чего я хочу избежать. One mailing list post предположил, что tox.ini должен быть авторитетом в тестовых зависимостях, но я не хочу полностью спрятать ток в проект.

ответ

3

Теперь у вас есть возможность "дополнительные услуги":

# tox.ini 
... 
[testenv] 
... 
extras = test 

Источник: http://tox.readthedocs.io/en/latest/config.html#confval-extras=MULTI-LINE-LIST

+0

«Новое в версии 2.4.», «2.4 с тегами 12 октября 2016 года», поэтому он не новенький, но это звучит как именно то, что я был после! – ThorSummoner

0

я придумал с противным хака, который, кажется, работает

# tox.ini 
... 
[testenv] 
... 
install_command = pip install {opts} {packages} {env:PWD}[test] 

install_command В DEFUALT является pip install {opts} {packages}, к сожалению {packages} является обязательным аргументом. Кроме того, токсин не раскрывает каталог проекта как волшебную переменную; но он обнаруживает env оболочки, которая его запускала.

Это работает, если вы побежали tox из той же директории, что и ваш setup.py и tox.ini, и предполагается, что ваш снаряд выставляет PWD в качестве пути тока. Tox, похоже, использует что-то вроде shlex, чтобы разделить install_command на безопасный набор аргументов, поэтому мы не можем делать такие вещи, как {packages}[test]. В конечном счете этот хак будет называть ваш пакет дважды, но я думаю, что это нормально, так как {env:PWD}[test] назовет ваш пакет плюс нужный блок extra_require.

Не знаю, как лучше, PYPA SampleProject кажется контентом с указанием ваших тестовых зависимостей как в setup.py, так и в tox.ini.

+0

Я полагаю, может быть, я должен просто принять живое requirements.txt. – ThorSummoner

 Смежные вопросы

  • Нет связанных вопросов^_^