在 Pytest 中,你可以使用内置的 assert 语句来进行断言。当断言失败时,Pytest 会捕获 AssertionError 并将其视为测试失败。以下是一些常见的断言语法和示例:
def test_example():
assert 1 + 1 == 2
如果 1 + 1 不等于 2,这个测试将会失败。
你可以在断言中包含表达式和变量:
def test_calculate_area():
width = 5
height = 10
area = width * height
assert area == 50, "计算出的面积不正确"
在这个例子中,如果 area 不等于 50,测试将失败,并显示消息 “计算出的面积不正确”。
你可以使用逻辑运算符来组合多个条件:
def test_multiple_conditions():
x = 3
y = 4
z = 5
assert x**2 + y**2 == z**2, "这不是一个直角三角形"
pytest.raises 进行异常断言如果你想测试某个代码块是否抛出了特定的异常,可以使用 pytest.raises:
def test_division_by_zero():
with pytest.raises(ZeroDivisionError):
1 / 0
在这个例子中,如果 1 / 0 没有抛出 ZeroDivisionError,测试将失败。
pytest.approx 进行浮点数比较对于浮点数的比较,由于精度问题,直接使用 assert 可能会导致意外的失败。这时可以使用 pytest.approx:
def test_float_comparison():
result = 0.1 + 0.2
assert result == pytest.approx(0.3)
这样即使有微小的浮点误差,测试也能通过。
使用 assert 进行断言是编写测试用例的基本方法。通过结合不同的断言方式和技巧,可以有效地验证代码的正确性。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。