Pytest测试框架

举报
霍格沃兹测试开发 发表于 2024/05/14 17:50:08 2024/05/14
【摘要】 Pytest背景与优势pytest能够支持简单的单元测试和复杂的功能测试;pytest可以结合Requests实现接口测试;结合Selenium、Appium实现自动化功能测试;使用pytest结合Allure集成到Jenkins中可以实现持续集成;pytest支持315种以上的插件,拥有丰富的第三方插件,而且支持定制化插件开发;pytest兼容unittest。 Pytest安装方法一:...

Pytest背景与优势

  1. pytest能够支持简单的单元测试和复杂的功能测试;
  2. pytest可以结合Requests实现接口测试;结合Selenium、Appium实现自动化功能测试;
  3. 使用pytest结合Allure集成到Jenkins中可以实现持续集成;
  4. pytest支持315种以上的插件,拥有丰富的第三方插件,而且支持定制化插件开发;
  5. pytest兼容unittest。

Pytest安装

方法一:pip install pytest或者pip install -U pytest

image.png

方法二:Pycharm直接安装

image.png

image.png

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 <表达式 >,<描述>

image.png

Pytest测试框架结构(setup/teardown)

测试装置介绍

类型 规则
setup_module/teardown_module 全局模块级
setup_class/teardown_class 类级,只在类中前后运行一次
setup_function/teardown_function 函数级,在类外
setup_method/teardown_method 方法级,类中的每个方法执行前后
setup/teardown 在类中,运行在调用方法的前后(重点)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。