Как запустить tox в проекте, который не имеет setup.py?



Я хотел бы использовать tox чтобы запустить мои unittests в двух virtualenvs, так как мое приложение должно поддерживать 2 разные версии Python.



моя проблема в том, что tox требует setup.py, но у меня нет ни одного, так как мое приложение не является модулем и имеет свой собственный установщик. На данный момент я не хочу проходить через хлопоты автоматизации процесса установки, чтобы работать с setup.py, Я просто хочу, чтобы запустить мой unit-тестов, без необходимости писать setup.py.



это возможно? Или как я могу написать "пустой" setup.py что просто ничего не делает? Можете ли вы указать мне на некоторые документы по этому вопросу (distutils документация объясняет, как писать осмысленные setup.py, не пустой)?

578   3  

3 ответов:

после копания в исходном коде, я нашел едва документированный вариант в tox.ini, который пропускает sdist:

[tox]
skipsdist = BOOL    # defaults to false

задание True Я получил то, что хотел, сэкономив мне писать осмысленные setup.py

если у вас есть приложение (с requirements.txt), а не проект, который вы собираетесь распространять (что бы setup.py вместо), ваш tox.ini должно выглядеть примерно так:

[tox]
skipsdist = True

[testenv]
deps = -r{toxinidir}/requirements.txt

нашел этот ответ первоначально из блога Дэвида Мерфи:http://blog.schwuk.com/2014/03/19/using-tox-django-projects/

Это моя Токсикология.содержимое файла ini для проекта Django по нескольким настройкам:

[tox]
envlist = py36-{accounting,content,media}_settings
skipsdist = true

[testenv]
commands = python {toxinidir}/manage.py test
deps = -r{toxinidir}/requirements.txt

setenv =
    accounting_settings: DJANGO_SETTINGS_MODULE=my_project.settings.accounting
    contents_settings: DJANGO_SETTINGS_MODULE=my_project.settings.contents
    media_settings: DJANGO_SETTINGS_MODULE=my_project.settings.media

Comments

    Ничего не найдено.