nosetests发现“_test”文件夹中的代码

时间:2014-05-12 18:11:33

标签: python unit-testing python-2.7 nosetests

我使用nosetests来发现并运行我的所有测试代码。我想将所有测试代码放在名为" _test"的文件夹中。但是nosetests不会使用默认设置在此文件夹中发现我的测试代码。

我发现你可以告诉nosetests使用正则表达式寻找替代模式来发现你的测试。出于某种原因,我无法使用以下划线开头的foldername来进行测试。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你不能

nose的默认行为是忽略setup.py以及以下划线或句点开头的所有文件或文件夹。增加鼻子输出的冗长程度明确地表明了这一点:

$ nosetests --verbosity=3
nose.config: INFO: Ignoring files matching ['^\\.', '^_', '^setup\\.py$']

虽然可以使用--ignore选项覆盖文件的默认行为 - 例如,通过将其设置为不会发生的模式: / p>

$ nosetests --verbosity=3 --ignore='^$'

...此不会为目录工作,因为a hardcoded exclusion of initial underscores

            if is_dir:
                # this hard-coded initial-underscore test will be removed:
                # http://code.google.com/p/python-nose/issues/detail?id=82
                if entry.startswith('_'):
                    continue

从评论中可以看出,鼻子开发者打算在某些时候删除这个限制,但是由于评论中链接的问题已经关闭,因为"固定"在2008年,该计划似乎已经被淘汰了。