改进的单元测试转轮
autocheck的Python项目详细描述
自动运行python unittests。当源具有时重新运行测试 改变。试着对运行哪些测试做出明智的决定。
示例
在带有unittests的项目目录中:
$ autocheck discover -v
接受与python -m unittest相同的选项。
安装
$ pip install autocheck
可选,用于咆哮支持:
$ pip install gntp
根据安装watchdog内核支持 https://pythonhosted.org/watchdog/installation.html。
django支持
告诉django使用我们的测试运行程序,在settings:
TEST_RUNNER = 'autocheck.contrib.django.TestSuiteRunner'
或在命令行中:
./manage.py test --testrunner=autocheck.contrib.django.TestSuiteRunner
每当源更改时自动运行测试:
$ autocheck
autocheck试图找出它是否在django项目中运行 (^ {Tt5} $存在,包含^ {TT6}$,^ {TT7}$ 很重要)。此外,如果文件{TT8}$存在, DJANGO_SETTINGS_MODULE=test_settings已添加到环境中。
在幕后,有两名Django的测试选手被选中 在导入autocheck.contrib.django.TestSuiteRunner:
- autocheck.contrib.django.discoveryrunner.TestSuiteRunner用于 django的最新版本(>;=1.6)
- autocheck.contrib.django.testsuiterunner.TestSuiteRunner用于 旧版本(<;1.6)
后者与旧的./manage.py test命令不兼容, 相反,它试图复制python -m unittest的接口。
另一个是django的DiscoverRunner的薄包装, 为我们的自定义TestRunner添加一些命令行开关。
统计
使用以下命令转储测试数据库:
$ autocheck --stats
或者对于平面输出,使用:
$ autocheck --stats-flat
测试
在项目目录中运行:
$ python setup.py test
使用我们自己的测试运行程序运行测试:
$ pip install -e . $ pip install -r requirements/test.txt $ python -m autocheck discover -v --once -s ./vows -t .
测试了python-2.6、2.7、3.3、3.4、pypy 2和3。
待办事项
- 使autocheck.autorunner文件模式可配置
- 配置文件
- 标记和标记表达式的文档
- autocheck命令行标志的文档
- --help用于autocheck命令