2012-06-20 110 views
35

我试图使用setup.cfg中的norecursedirs选项来告诉py.test不要从某些目录收集测试,但似乎它确实忽略它。如何让py.test跳过某些目录?

[tool:pytest] 
norecursedirs=lib/third 

当我运行py.test我看到它是如何从内部lib/third得到测试!

+0

似乎我有'py.test'和'pytest'两个人都在进行测试并且是不同的野兽。奇怪,但'pytest'是一个失败的因为它不加载'[pytest]'的排除。 – sorin

+1

'pytest'来自logilab。你想'py.test'。 – ecatmur

+0

也试着做'nosecuredirs = lib/third/*' – intelis

回答

14

我解开了谜团:如果pytest部分在可能的配置文件(pytest.initox.inisetup.cfg),pytest不会寻找任何其他人发现所以一定要在一个单一的定义py.test选项文件。我建议使用setup.cfg

9

norecursedirs应该工作。检查你是否有pytest.ini或其他setup.cfg文件。你是怎么调用py.test

+0

我的'setup.cfg'里面有正确的'[pytest]'和norecorsedirs,但它似乎被忽略,而是会查找所有文件。 – sorin

9

您可以使用

py.test -k 'not third' 

排除所有的 '第三' 目录的内容。

13

py.test --ignore=somedir工作对我来说