1.UnitTest框架与Pytest框架对⽐
1) unittest框架介绍
Unittest则是Python语⾔的标准单元测试框架。 Unittest⽀持⾃动化测试,测试⽤例的初 始化、关闭和测试⽤例的聚合等功能,它有⼀个很重要的特性:它是通过类(class)的⽅ 式,将测试⽤例组织在⼀起
2) pytest框架介绍:
Pytest是Python的另⼀个第三⽅单元测试库。提供更简单、更灵活、更强⼤的测试 框架,以便于编写和执⾏测试⽤例。它提供了许多有⽤的功能和插件,能够⾃动发现 测试⽤例、丰富的断⾔⽀持、参数化测试、丰富的插件系统等等,使得测试更加容易 管
理和执⾏。
pytest 安装和配置:
1.使⽤命令进⾏安装: pip install pytest 2.验证安装成功的命令: pytest --version 3.运 ⾏模式的配置,把pycharm的运⾏模式改为pytest
pytest框架默认的⽤例运⾏规则:
1.pytest将在当前⽬录及其⼦⽬录中运⾏所有格式为 test**.py 或者 **test.py ⽂件
2.测试⽅法/测试函数 默认必须是 test开头
3.测试类必须是 Test开头
4. 测试类不能有构造⽅法__init__
2.Pytest的常⽤应⽤
断⾔pytest
借助Python的运算符号 和 assert关键字 来实现的。
def test_kkk_01():
print("kkk")
# 测试相等
assert 1 == 2
pytest框架的常⽤参数:
-s 输出打印信息到控制台:pytest.main(['-s'])
" -s" 参数 ⽤于关闭捕捉,从⽽输出打印信息到控制台
-v ⽤于显示具体的⽤例执⾏信息:pytest.main(['-v'])
-k 运⾏名称中包含某字符串的测试⽤例:pytest.main(['-k','kkk'])
-q 简化输出信息:pytest.main(['-q'])
-x 失败就退出:pytest.main(['-x'])
指定⽬录以及特定类或⽅法执⾏:
pytest.main(['-s','./doc/test_112233.py::TestShopping::test03'])
⽣成简单的测试报告:
pytest.main(['--junit-xml=./report/junit_report01.xml'])
⽤例失败控制:
在第N个很⽤例失败之后,结束测试执⾏:
pyte