Я попытался использовать norecursedirs
параметр внутри setup.cfg, чтобы указать py.test не собирать тесты из определенных каталогов, но, похоже, он игнорирует его.
[tool:pytest]
norecursedirs=lib/third
Когда я бегу, py.test
я вижу, как он проходит тесты изнутри lib/third
!
python
unit-testing
pytest
Сорин
источник
источник
py.test
и ониpytest
оба проходят тесты и являются разными зверями. Странно, ноpytest
он не работает, потому что не загружает исключения из[pytest]
.pytest
взято из logilab. Вы хотитеpy.test
.nosecuredirs=lib/third/*
[pytest] norecursedirs = resources
в этомpytest.ini
есть трюк! 💪Ответы:
py.test --ignore=somedir
работал на меняисточник
--ignore
может быть задано несколько раз , чтобы игнорировать несколько каталогов-k
опцию, как показано в другом ответе ниже. См. «Запуск тестов по выражениям ключевых слов» на docs.pytest.org/en/latest/… . Здесь также могут быть полезны отметки. Отметьте свои тесты как "медленные" и т. Д., А затем используйте-k "not slow"
--ignore-glob
для игнорирования путей к тестовым файлам на основе подстановочных знаков в стиле оболочки Unix. Например--ignore-glob=**/sandbox/*
, игнорирует все файлы в любойsandbox
папке.Если у вас несколько каталогов с разными родителями, вы можете указать разные
--ignore
параметры:py.test --ignore=somedir --ignore=otherdir --ignore=etcdir
источник
Я решил загадку: если раздел pytest находится в одном из возможных файлов конфигурации (
pytest.ini
,tox.ini
иsetup.cfg
), pytest не будет искать другие, поэтому убедитесь, что вы определили параметры py.test в одном файле.Я бы предложил использовать
setup.cfg
.источник
setup.cfg
? Текущая документация, кажется, рекомендует два других.ini
файл, вам нужно указать егоpytest -c pytest.ini
. по какой-то причинеsetup.cfg
содержимое было подхвачено автоматически.Вы можете использовать
py.test -k 'not third'
это исключает все "третье" содержимое каталога.
источник
norecursedirs
должно сработать. Проверьте, есть ли у вас pytest.ini или другие файлы setup.cfg. Как вы вызываетеpy.test
?источник
setup.cfg
правильные[pytest]
и не исправленные файлы внутри, но, похоже, они игнорируются, и вместо этого он будет искать все файлы.В моем случае проблема заключалась в отсутствии подстановочного знака. Для меня работает следующее:
тогда как просто
norecursedirs = subpath
не сделал.источник
Если вы используете setup.cfg, вы должны использовать его
[tool:pytest]
согласно http://doc.pytest.org/en/latest/example/pythoncollection.htmlисточник
Чтобы использовать
pytest.ini
(что рекомендуется, если вы не используете, иtox
в этом случаеtox.ini
имеет смысл), позвонитеpytest
с помощьюpytest -c pytest.ini
.Для того , чтобы не допустить мой образец
not_me_1.py
иnot_me_2.py
от тестирования или linted, мойpytest.ini
выглядят следующим образом :источник