当前位置: 首页 > article >正文

测试面试题:pytest断言时,数据是符点类型,如何断言?

在使用 Pytest 进行断言时,如果数据是浮点类型,可以使用以下方法进行断言:

一、使用pytest.approx

pytest.approx可以用来比较两个浮点数是否近似相等。例如:

import pytest

def test_float_assertion():
    result = 3.14159
    expected = 3.14
    assert result == pytest.approx(expected, rel=1e-2)

在这个例子中,pytest.approx(expected, rel=1e-2)表示允许结果与期望值之间有相对误差不超过1e-2(即 0.01)。

二、使用math.isclose结合pytest.raises进行断言

可以结合 Python 的内置函数math.isclose来判断两个浮点数是否接近,并使用pytest.raises来处理断言失败的情况。例如:

import math
import pytest

def test_float_assertion_alternate():
    result = 3.14159
    expected = 3.14
    with pytest.raises(AssertionError):
        assert not math.isclose(result, expected, rel_tol=1e-2)

这里如果结果与期望不接近,就会触发AssertionError,被pytest.raises捕获。

在进行浮点类型数据的断言时,要根据具体的精度要求和测试场景选择合适的断言方法。


http://www.kler.cn/news/328077.html

相关文章:

  • 【Python|接口自动化测试】使用requests发送http请求时添加headers
  • 【LeetCode】每日一题 2024_9_27 每种字符至少取 K 个(双指针)
  • Android 安装应用-提交阶段之后剩下的操作
  • uniapp生物识别示例(人脸识别、指纹识别)
  • 【docker】docker常见命令
  • 动态分配内存
  • Gin框架简易搭建(3)--Grom与数据库
  • 归并排序【C语言版-笔记】
  • Unreal 实现建造游戏|地面交互shader
  • 06.C/C++内存管理
  • 【数据库】MongoDB 用户权限与数据之间的关系详解
  • Android studio配置AVD虚拟机
  • 【60天备战2024年11月软考高级系统架构设计师——第33天:云计算与大数据架构——大数据处理框架的应用场景】
  • 关于Java中的List<User>如何进行深拷贝
  • 贝锐蒲公英工业物联方案:助力美的智慧楼宇全球布局
  • Leetcode 611. 有效三角形的个数
  • 前端面试题(八)
  • 音视频入门基础:FLV专题(7)——Tag header简介
  • 【STM32单片机_(HAL库)】4-1【定时器TIM】定时器中断点灯实验
  • 【漏洞复现】JeecgBoot 积木报表 queryFieldBySql sql注入漏洞
  • 【进阶OpenCV】 (2)--Harris角点检测
  • 衡水中学资料大全-重构版(状元、学霸笔记)
  • .NET MAUI(.NET Multi-platform App UI)下拉选框控件
  • UE5: Content browser工具编写02
  • 【抽代复习笔记】29-群(二十三):生成子群的两道例题及子群陪集的定义
  • hdlbits系列verilog解答(Exams/m2014 q3)-77
  • 【qt】QQ仿真项目1
  • 【洛谷】P4551 最长异或路径 的题解
  • 自然语言处理的应用领域有哪些?
  • 【漏洞复现】孚盟云oa AjaxSendDingdingMessage接口 存在sql注入漏洞