首页 > 其他分享 >Pytest测试框架

Pytest测试框架

时间:2024-05-14 17:53:08浏览次数:26  
标签:断言 框架 teardown setup pytest 用例 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

方法二: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 在类中,运行在调用方法的前后(重点)

标签:断言,框架,teardown,setup,pytest,用例,Pytest,测试
From: https://www.cnblogs.com/hogwarts/p/18191842

相关文章

  • Pytest配置文件pytest.ini
    pytest.ini配置pytest.ini是什么pytest.ini是pytest的配置文件可以修改pytest的默认行为不能使用任何中文符号,包括汉字、空格、引号、冒号等等pytest.ini修改用例的命名规则配置日志格式,比代码配置更方便添加标签,防止运行过程报警告错误指定执行目录排除搜索......
  • 软件评测师笔记09--性能测试相关
    并发性能测试过程是一个负载测试和压力测试的过程,逐渐增加并发负载,直到系统的瓶颈或不能接收到的性能点,通过性能指标、资源监控指标来确定系统并发性能的过程 性能测试类型疲劳强度测试:采用稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,保证达到系统疲劳强度......
  • 精准测试实践-测试范围分析| 京东云技术团队
    一、背景需求迭代过程中产研漏评估业务影响点是bug漏到生产环境的主要原因之一。减少漏评估问题的发生是提升交付质量的重要方向,精准测试是除依赖产研人员能力及经验外的另一种分析业务影响点的方式。二、实践方案1.方案简介下面介绍针对java单应用的代码改动影响自动分析方案......
  • Rust数据驱动-参数化测试
    需求假如有以下测试用例,同样的逻辑,我们需要测试多组数据。modtests{#[test]fntest_add(){leta=1;letb=2;assert_eq!(a+b,3);}}一般情况下我们不在用例中使用for循环(即subtests子测试模式)来验证多组数据。modtest......
  • 自动生成测试数据
    AutoFixtureAutoFixture是一个用于.NET的测试工具,它允许开发者在单元测试中自动生成随机的测试数据。它支持广泛的数据类型,包括常见的基元类型、复杂对象、集合等。AutoFixture通过使用继承、接口、属性和构造函数等机制来推断如何创建复杂的对象。安装:Install-PackageAut......
  • uniapp开发h5游戏推荐框架
    在开发H5游戏时,推荐使用以下几个流行的游戏开发框架:   Phaser:Phaser是一个使用JavaScript制作的开源游戏框架,它支持WebGL渲染,并且有丰富的社区支持。   CreateJS:CreateJS是Adobe的一个开源库,主要用于创建交互式内容和动画。它支持WebGL和Canvas渲染。   PixiJS:P......
  • 一个有趣的想法,没有fastcgi的php-fpm之前,php的框架是什么的?
    2024年5月14日10:14:47cgi规范https://www.rfc-editor.org/rfc/rfc3875w3chttps://www.w3.org/CGI/fastcgi细节说明https://www.mit.edu/~yandros/doc/specs/fcgi-spec.htmlSAPI的全称是ServerApplicationProgrammingInterface就是服务器应用程序接口PHP的SAPI模块方......
  • 单元测试
    实验项目名称:实验四单元测试2          一、 实验目的1、 掌握单元测试技术,并按单元测试的要求设计测试用例。 2、 掌握一种单元测试工具的使用。二、 实验内容自行学习C#或python或C++的其中一种单元测试工具的使用,自选一段单元代码(不少于15行),进行测试。完......
  • java测试-Xpath定位
     Xpath定位调式方法console方式:$x("xpath表达式")xpath基础语法1、/从该节点的子元素选取2、//从该节点的子孙元素选取$x('//*')匹配所有3、*通配符查找所有4、nodename标签名(不是属性)$x('//input')5、..当前节点的父节点$x("//*[@id='ember61'......
  • pytest 学习 - 03 fixture
    前言有的场景setup与teardown无法满足,如:有的用例需要登录才能执行,有的用例不需要登录。fixturefixture可以满足以上特殊的场景。1.只有登录的函数上面加上 @pytest.fixture()2. 在要使用的测试方法中传入(登录函数名称),就先登录案例[email protected]()def......