测试面试题: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
捕获。
在进行浮点类型数据的断言时,要根据具体的精度要求和测试场景选择合适的断言方法。
原文地址:https://blog.csdn.net/wuwei13798642/article/details/142532296
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!