什么是pytest
pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点:
1、简单灵活,容易上手,文档丰富;
注:看到下面实例确实容易上手,简单灵活和文档丰富目前还未能体会
2、支持参数化,可以细粒度地控制要测试的测试用例;
注:怎么细粒度控制测试用例和怎么参数化还不理解
3、能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests);
注:selenium/appnium,pytest+requests这些词代表什么含义还不清楚
4、pytest具有很多第三方插件,并且可以自定义扩展
- 如pytest-selenium(集成selenium)、
- pytest-html(完美html测试报告生成)、
- pytest-rerunfailures(失败case重复执行)、
- pytest-xdist(多CPU分发)、
- pytest--ordering(控制测试运行的顺序)
注:这个NB的插件怎么用没有体会
5、测试用例的skip和xfail处理;
注:代表什么含义不清楚
6、可以很好的和CI工具结合,例如jenkins
注:怎么和Jenkins结合很值得研究
测试case编写规则
- 测试文件以test_开头(以_test结尾也可以)
- 测试类以Test开头,并且不能带有 init 方法
- 测试函数以test_开头
运行pytest的前提是已经安装了pytest module,如果未安装可直接使用pip install pytest进行安装
快速示例
test_pytest_demo.py
import pytest
class TestClass:
def test_one(self):
x = "this"
assert 'h' in x
def test_two(self):
x = "hello"
assert hasattr(x, 'check')
def test_three(self):
a = "hello"
b = "hello world"
a