你也可以看看Nose将发现测试,而无需使用一个固定的文件名约定。
您可以使用以下代码绕过用于过滤鼻子中文件的正则表达式。 创建一个Python模块(即my_nosetests.py
)
import nose
from nose.plugins.base import Plugin
class ExtensionPlugin(Plugin):
name = "ExtensionPlugin"
def options(self, parser, env):
Plugin.options(self,parser,env)
def configure(self, options, config):
Plugin.configure(self, options, config)
self.enabled = True
def wantFile(self, file):
return file.endswith('.py')
def wantDirectory(self,directory):
return True
def wantModule(self,file):
return True
if __name__ == '__main__':
includeDirs = ["-w", ".", ".."]
nose.main(addplugins=[ExtensionPlugin()], argv=sys.argv.extend(includeDirs))
现在运行my_nosetests.py
,如果你正在运行nosetests
,你应该有你的测试运行。请注意,您实际上正在加载所有模块并在其中搜索测试。注意模块加载的任何副作用。
来源
2010-09-08 18:23:02
Rod
鼻子是件好事! – dmitko 2010-09-08 18:26:40
你可以给一个鼻子的解决方案,我会接受它! – sorin 2010-09-09 13:22:50
使用鼻子在根目录中使用nosetests或将目录作为参数传递。默认情况下它会递归。 – Rod 2010-09-09 13:49:58