我试图使用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
!
pytest
来自logilab。你要py.test
。
nosecuredirs=lib/third/*
[pytest] norecursedirs = resources
,pytest.ini
这真是个绝招!💪–
Answers:
py.test --ignore=somedir
为我工作
--ignore
可以多次指定以忽略多个目录
-k
选项用作下面显示的另一个答案。请参阅docs.pytest.org/en/latest/…上的“通过关键字表达式运行测试” 。标记在这里也可能会有所帮助。将测试标记为“慢”等,然后使用-k "not slow"
如果您有多个具有不同父级的目录,则可以指定不同的--ignore
参数:
py.test --ignore=somedir --ignore=otherdir --ignore=etcdir
- 新选项:--ignore将阻止收集指定的路径。
可以多次指定。
我解决了一个难题:如果在可能的配置文件(和)之一中找到pytest节,则pytest不会查找其他任何文件pytest.ini
,因此请确保在单个文件中定义py.test选项。tox.ini
setup.cfg
我建议使用setup.cfg
。
.ini
文件,则需要使用指定它pytest -c pytest.ini
。由于某些原因,setup.cfg
内容会被自动提取。
norecursedirs
应该管用。检查您是否有pytest.ini或其他setup.cfg文件。您如何调用py.test
?
setup.cfg
适当的[pytest]
和norecorsedirs,但似乎被忽略了,而是会查找所有文件。
就我而言,问题是缺少通配符。以下对我有用:
[tool:pytest]
norecursedirs = subpath/*
而norecursedirs = subpath
没有。
如果您使用的是setup.cfg,则必须[tool:pytest]
按照http://doc.pytest.org/en/latest/example/pythoncollection.html使用
#
也可以在tox.ini或setup.cfg文件中定义pytest.ini #的内容,尽管setup.cfg文件中的部分
名称应为“ tool:pytest”
py.test
和pytest
他们两个都进行测试并且是不同的野兽。奇怪,但pytest
失败了,因为它没有加载的排除项[pytest]
。