我尝试使用norecursedirs
setup.cfg 中的选项来告诉 py.test 不要从某些目录收集测试,但它似乎确实忽略了它。
[tool:pytest]
norecursedirs=lib/third
当我跑步时,py.test
我确实看到它是如何从内部获得测试的lib/third
!
我尝试使用norecursedirs
setup.cfg 中的选项来告诉 py.test 不要从某些目录收集测试,但它似乎确实忽略了它。
[tool:pytest]
norecursedirs=lib/third
当我跑步时,py.test
我确实看到它是如何从内部获得测试的lib/third
!
py.test --ignore=somedir
为我工作
如果您有多个具有不同父级的目录,则可以指定不同的--ignore
参数:
py.test --ignore=somedir --ignore=otherdir --ignore=etcdir
- 新选项:--ignore 将阻止收集指定路径。
可以多次指定。
我解开了这个谜团:如果在可能的配置文件( 和 )之一中找到 pytest 部分pytest.ini
,tox.ini
pytestsetup.cfg
将不会查找任何其他部分,因此请确保在单个文件中定义 py.test 选项。
我建议使用setup.cfg
.
您可以使用
py.test -k 'not third'
排除所有“第三”目录内容。
就我而言,问题是缺少通配符。以下对我有用:
[tool:pytest]
norecursedirs = subpath/*
而只是norecursedirs = subpath
没有。
norecursedirs
应该管用。检查您是否有 pytest.ini 或其他 setup.cfg 文件。你怎么调用py.test
?
如果您使用 setup.cfg,则必须[tool:pytest]
按照http://doc.pytest.org/en/latest/example/pythoncollection.html使用
# pytest.ini 的内容
# 也可以在 tox.ini 或 setup.cfg 文件中定义,尽管 setup.cfg 文件中的部分
# 名称应该是“tool:pytest”
要使用pytest.ini
(推荐,除非您tox
在这种情况下使用tox.ini
会有意义),请pytest
使用pytest -c pytest.ini
.
为了防止我的样品not_me_1.py
被not_me_2.py
测试或掉毛,我pytest.ini
的如下:
[pytest]
addopts = --ignore-glob=not_me_*
[pycodestyle]
ignore = not_me_* ALL