nose的一个发现插件,它依赖于正常的结构。
quickunit的Python项目详细描述
给定标准测试设置,将确定哪些测试需要针对给定的差异运行。
例如,假设您在名为My New Sexy Feature的分支中工作,该分支将修改以下文件:
src/foo/bar/__init__.py src/foo/bar/baz.py src/foo/biz.py
如果您使用的是传统的测试布局,我们将自动为您添加以下规则:
tests/{path}/test_{filename}
否则,可以使用正则表达式语法以及路径和文件名格式化程序来添加规则。
现在,如果使用默认选项nosetests --with-quickunit运行,它将在 以下基本目录:
tests/src/foo/bar/test_baz.py tests/src/foo/test_biz.py
(它是通过分析主文件的差异,并确定您更改了哪些文件来实现的) 是测试,包括它们,以及哪些文件包含并行目录中的测试覆盖率。)
配置
如果您想支持多个目录进行搜索(假设您将unittests从集成测试中分离出来) 您也可以这样做:
- ::
- –quickunit rule=tests/{path}/test{filename}–quickunit rule=tests/{path}/{basename}/tests.py
或者,如果您愿意,可以通过setup.cfg:
quickunit-rule = tests/{path}/test_{filename} tests/{path}/{basename}/tests.py
规则
规则是对正则表达式进行简单格式化的组合。
规则中提供以下格式化变量:
- {路径}
- 文件名的基本路径(例如foo/bar)
- {文件名}
- 不包括路径的文件名(例如baz.py)
- {basename}
- 不包括扩展名的文件名(例如baz)
首先格式化一个规则(使用.format(params)),然后在每个更改的文件上编译成一个正则表达式。