Pytest断言
断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了
断言就是用实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试 failed
# -*- coding: utf-8 -*-
# @Author : 公众号:程序员一凡
import pytest
def test01():
b = 2
assert 1 == b, "预期的值是:%d"%b
def test02():
assert 2 == 2
pytest.main(["day.py"])
运行结果
用例通过1条,失败1条
断言失败会写出自己失败的原因
def test01():
b = 2
> assert 1 == b, "预期的值是:%d"%b
E AssertionError: 预期的值是:2
E assert 1 == 2
异常断言
# -*- coding: utf-8 -*-
# @Author : 公众号:程序员一凡
import pytest
def a():
with pytest.raises(ZeroDivisionError) as ZE:
1 / 0
# 断言异常类型type
assert ZE.type == ZeroDivisionError
# 断言异常value
assert "division by zero" in str(ZE.value)
pytest.main(["day.py"])
ZE 是一个异常信息实例,它是围绕实际引发的异常的包装器。
主要属性是.type、 .value .traceback
断言 type 的时候,异常类型是不需要加引号的,断言 value值的时候需转 str
在上下文管理器窗体中,可以使用关键字参数消息指定自定义失败
给大家推荐一个软件测试技术交流群:1079636098 群友福利免费领取
愿你我相遇,皆有所获! 欢迎关注微信公众号:程序员一凡
1.免费领取一份216页软件测试工程师面试宝典文档资料。
2.软件测试学习路线以及相对应的视频学习教程免费分享!