tox создает пакет в точности так, как он указан в setup.py
и MANIFEST.in
, запустив для вас python setup.py sdist
.Нет никакого способа создать специальный пакет для тестирования с помощью tox.Это отрицательно скажется на назначении tox, которое заключается в том, что вы тестируете именно тот пакет, который хотите выпустить.
Если вы хотите запустить некоторые специальные тесты с файлами / папками, которые не должны быть частью выпуска, нокоторые являются частью проекта (то есть частью структуры проекта, в которой живет ваш tox.ini
), я бы порекомендовал запустить эти тесты для установки вашего проекта, которая содержит все, что вам нужно.Вы все равно должны протестировать пакет на соответствие другим тестам, но эти другие тесты могут быть выполнены в другой среде токсиков.
Очень упрощенно, в проекте, который содержит различные типы тестов в разных папках в tests
thisможет выглядеть примерно так (я пишу это с точки зрения пользователя pytest - вам придется перевести это на unittest - или просто запустить свои юнит-тесты вот так с pytest:)):
[tox]
envlist = tests,mockuptests
[testenv:tests]
description = runs the "normal" tests against the installed package
deps = pytest
commands = pytest tests/normal
[testenv:mockuptests]
description = runs the "mockup" tests against an editable installation
usedevelop = True
deps = pytest
commands = pytest tests/mockup
Со второй мыслиЯ думаю, что тестирование пакета на основе макетов также должно быть возможным по-другому, без необходимости помещать эти файлы в пакет, в зависимости от того, как структурированы ваши тесты и как работает ваш testrunner.Так как я запускаю unittest, и у меня недостаточно информации о настройке вашего проекта, я не знаю, как бы вы сделали это в вашем случае.