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

像芥末堆做内容的网站遵义网站推广

像芥末堆做内容的网站,遵义网站推广,wordpress 子分类,九冶建设有限公司网站一、前言 用例三要素之一就是对预期结果的断言。 何为断言?简单来说就是实际结果和期望结果去对比,符合预期就测试pass,不符合预期那就测试 failed。断言内容就是你要的预期结果。断言包含对接口响应内容做断言、也包含对落DB的数据做断言。…

一、前言

用例三要素之一就是对预期结果的断言。

何为断言?简单来说就是实际结果和期望结果去对比,符合预期就测试pass,不符合预期那就测试 failed。断言内容就是你要的预期结果。断言包含对接口响应内容做断言、也包含对落DB的数据做断言。

pytest可以让开发者使用Python断言来验证测试中的期望值。

话不多说,我们来举个小例子熟悉一下,一般我们会在抛出异常之后输出一些提示信息,执行之后就方便查看是什么原因了。

# 异常信息
def f():return 3
def test_function():a = f()assert a % 2 == 0, "判断 a 为偶数,当前 a 的值为:%s" % a

执行结果

二、常用断言

pytest 里面断言实际上就是 python 里面的 assert 断言方法,常用的有以下几种

  • assert xx :判断 xx 为真
  • assert not xx :判断 xx 不为真
  • assert a in b :判断 b 包含 a
  • assert a == b :判断 a 等于 b
  • assert a != b :判断 a 不等于 b

三、异常断言

可以使用 pytest.raises 作为上下文管理器,当抛出异常时可以获取到对应的异常实例

# 断言异常
def test_zero_division():with pytest.raises(ZeroDivisionError):1 / 0

断言场景:断言它抛的异常是不是预期想要的

代码执行:1/0

预期结果:抛的异常是ZeroDivisionError: division by zero

如何断言:通常是断言异常的 type 和 value 值了

具体方式:这里 1/0 的异常类型是 ZeroDivisionError,异常的 value 值是 divisionby zero

#详细断言异常
def test_zero_division_long():with pytest.raises(ZeroDivisionError) as excinfo:1 / 0# 断言异常类型 typeassert excinfo.type == ZeroDivisionError# 断言异常 value 值assert "division by zero" in str(excinfo.value)

excinfo :是一个异常信息实例

主要属性: .type 、  .value 、 .traceback 

注意:断言 type 的时候,异常类型是不需要加引号的,断言 value值的时候需转 str

拓展一:match

可以将 match 关键字参数传递给上下文管理器,以测试正则表达式与异常的字符串表示形式是否匹配

注意:这种方法只能断言value,不能断言type

# 自定义消息
def test_zero_division_long():with pytest.raises(ZeroDivisionError, match=".*zero.*") as excinfo:1 / 0

该 match 方法的regexp参数与 re.search  函数匹配,因此在上面的示例中 match='zero' 也可以使用

拓展二:检查断言装饰器

# 断言装饰器
@pytest.mark.xfail(raises=ZeroDivisionError)
def test_f():1 / 0

执行结果

知识点

  • 代码抛出异常,但是和raises指定的异常类相匹配,所以不会断言失败
  • 它相当于一个检查异常装饰器,功能:检查是否有异常,不确定是否有异常
  • with pytest.raise(ZeroDivisionError)  对于故意测试异常代码的情况,使用可能会更好
  • 而@pytest.mark.xfail(raises=ZeroDivisionError) 对于检查未修复的错误(即,可能会发生异常),使用检查断言可能会更好

http://www.dtcms.com/wzjs/592739.html

相关文章:

  • 网站官网认证加v怎么做网页制作基本教程
  • 广州白云机场网站建设wordpress搜索翻页404
  • wordpress 网站暂停门户网站建设进度
  • 百度推广需要备案的网站吗百度旗下13个app
  • 保山市住房和城乡建设局网站建设银行个人登录网站
  • 华山论剑西凤酒网站建设在线做网站免费黄搞
  • 庙行网站建设wordpress在哪里看访客
  • 广西网站推广邳州网页设计
  • 企业信息化建设如何帮助客户理解网站流量建站 小语种 连接
  • 怎么管理网站添加代码asp建设的网站
  • 做网站大概费用金华网上商城网站建设
  • 做公司网站需要准备什么seo培训课程
  • 免费建网站抚顺国内互动网站建设
  • 做风筝网站wordpress发布
  • 南通网站建设心得商田科技网站
  • 哔哩哔哩做视频网站专业简历制作网站有哪些
  • 企业网站初始期如何优化淘宝网站开发用到哪些技术
  • 三个小伙毕业了做购物网站的电视剧网页设计图标素材
  • 怎样做1个网站免费手机网站模板
  • 电脑上如何做课程视频网站wordpress 线报主题
  • 用dw做的网站怎么放到网上网站建设项目设计的图片
  • 百度推广智能网站呼和浩特房地产网站建设
  • 德州网站建设维护一家做公司点评的网站
  • 上海营销型网站建设最近免费高清观看mv
  • 东莞哪些网络公司做网站比较好镇江网站建设费用
  • 上海网站建设免费推怎么用ftp管理网站
  • 站长收录查询网站开发薪资
  • 广州市建设工程安全监督站网站网站开发风险协议
  • phpcms网站关于网站开发的参考文献有哪些
  • 谷歌上怎样做网站睿思设计