介绍
适合从简单的单元到复杂的功能测试
l 模块化parametrizeable装置(在2.3,持续改进)
l 参数化测试函数(用例)
l 标记测试功能与属性
l Skip和xfail:处理不成功的测试用例(在2.4改进)
l 通过xdist插件分发测试到多个CPU
l 不断地重新运行失败的测试
l 灵活约定的Python测试发现
Home Page: http://pytest.org
安装
>pip install -U pytest # 通过pip安装
>py.test --version # 查看pytest版本
This is pytest version 2.7.2, imported from C:\Python27\lib\site-packages\pytest.pyc
简单的测试
让我们创建第一个文件,对个简单的功能进行测试。
#coding=utf-8
# 功能
def func(x):
return x + 1
# 测试用例
def test_answer():
assert func(3) == 5
切换到测试文件所在的目录,通过“py.test”命令运行测试。
>py.test
执行结果如下图:
===================================================================
在一个测试类中创建多个测试用例:
#coding=utf-8
class TestClass:
def test_one(self):
x = "this"
assert "h" in x
def test_two(self):
x = "hello"
assert x == "hi"
运行测试:
>py.test -q test_class.py
-q 为quiet。表示在安静的模式输出报告诉。加不加这个参有什么区别呢? 读者可以对比一下两次输出的日志。其实,就是少了一些pytest的版本信息。