Pytest测试框架
Pytest背景与优势
- pytest能够支持简单的单元测试和复杂的功能测试;
- pytest可以结合Requests实现接口测试;结合Selenium、Appium实现自动化功能测试;
- 使用pytest结合Allure集成到Jenkins中可以实现持续集成;
- pytest支持315种以上的插件,拥有丰富的第三方插件,而且支持定制化插件开发;
- pytest兼容unittest。
Pytest安装
方法一:pip install pytest或者pip install -U pytest
方法二:Pycharm直接安装
Pytest命名规则
注意:测试类中不可以添加__init__构造函数
类型 | 规则 |
---|---|
文件 | test_ 开头 或者 _test 结尾 |
类 | Test 开头 |
方法/函数 | test_ 开头 |
Pytest用例结构
由三部分构成:用例名称、用例步骤、用例断言
测试用例示例
def test_XXX(self):
# 测试步骤1
# 测试步骤2
# 断言 实际结果 对比 预期结果
assert ActualResult == ExpectedResult
类级别的用例示例
class TestXXX:
def setup(self):
# 资源准备
pass
def teardown(self):
# 资源销毁
pass
def test_XXX(self):
# 测试步骤1
# 测试步骤2
# 断言 实际结果 对比 预期结果
assert ActualResult == ExpectedResult
Pytest测试用例断言
定义
断言(assert):是一种在程序中的一阶逻辑(如:一个结果为真或假的逻辑式判断),目的是表示与验证软件开发者预期的结果。
当程序执行到断言的位置时,对应的断言应该为真。
若断言不为真时,程序会自动终止,并给出错误提示。
用法
assert <表达式 >
assert <表达式 >,<描述>
Pytest测试框架结构(setup/teardown)
测试装置介绍
类型 | 规则 |
---|---|
setup_module/teardown_module | 全局模块级 |
setup_class/teardown_class | 类级,只在类中前后运行一次 |
setup_function/teardown_function | 函数级,在类外 |
setup_method/teardown_method | 方法级,类中的每个方法执行前后 |
setup/teardown | 在类中,运行在调用方法的前后(重点) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示