轻松运行python单元测试
pyt的Python项目详细描述
pyt是一个围绕Python’s unittest module的轻量级包装器,它添加了 在stockunittest模块上有一些不错的特性和增强。
快速启动
Pyt重写了UnitTest的内置寻路功能,使之更智能、更少 详细,因此可以使用前缀匹配来匹配测试 进行如下测试:
$ python -m unittest tests.foo_test.BarTestCase.test_che
简单到:
$ pyt foo.Bar.che
但如果你想的话就更不冗长了,Pyt可以 模块和类进行匹配,因此您甚至不需要 如果不想指定模块和类:
$ pyt che
更多示例
运行所有Happy测试:
$ pyt Happy
运行所有newmodule测试:
$ pyt newmodule
运行多个测试:
$ pyt test1 test2 ...
运行每个测试pyt可以找到:
$ pyt
我喜欢在当前目录下运行所有测试的方式:
$ pyt -vb
也可以写入:
$ pyt --verbose --buffer
标志
查看pyt所能做的一切
$ pyt --help
–警告
这将把警告转换成错误。
$ pyt --warnings
–重新运行
如果上次测试运行的测试失败,则只会重新运行测试 失败了。
$pyt --rerun
注意事项
pyt使用python的pep 8样式约定
pyt使用Python’s code styling conventions来决定 是模块和类,因此,给定如下输入:
$ pyt foo.bar.Baz.che
pyt将认为foo.bar是模块,Baz是 类(因为它以大写字母开头),并且che是 方法(因为它在类之后)。
同样,pyt使用unittest约定,因此测试模块应该结束 使用_test(例如,foo.bar_test)或从test(例如, test_foo.py)和一个testcase类应该扩展 unittest.TestCase,测试方法应该以test_开头(例如, test_che)。
模糊输入可能导致pyt运行的测试比您预期的要多
所以如果你有这样的东西:
project/ __init__.py user.py foo/ __init__.py user.py tests/ __init__.py user_test.py foo/ __init__.py user_test.py
你想为foo.user运行测试,然后运行:
$ pyt user
它将同时运行tests/user_test和tests.foo.user_test,即 解决方法是在必须做到以下几点时变得更加冗长:
$ pyt foo.user
环境变量
如果您在pyt中运行测试,您可能会注意到 环境变量PYT_TEST_COUNT,包含如何 发现PYT运行了许多测试。
安装
使用pip:
$ pip install pyt
您也可以直接从回购中获得:
$ pip install --upgrade git+https://github.com/Jaymon/pyt#egg=pyt
如果使用python 3安装pyt,也可以使用 pyt3命令:
$ pyt3 --help
同样,python 2安装一个pyt2命令:
$ pyt2 --help
测试
在大多数系统上使用2.7进行测试:
$ python -m unittest pyt_test
在MacOS上进行3.5版测试:
$ python3.5 -m unittest pyt_test