首页 > 其他分享 >pytest-断言语句

pytest-断言语句

时间:2023-03-03 14:58:50浏览次数:46  
标签:语句 断言 py assert pytest test foo

pytest允许在测试用例中使用标准的python断言,如下:

# test_case.py中的内容
def foo(x, y):
  return x + y
def test_01():
  assert foo(3, 4) == 8

本例中的函数期望返回一个固定的值。如果该断言失败了,你会看到该函数的返回值:

$ pytest test_assert1.py
============================= test session starts ==============================
platform darwin ‐‐ Python 3.7.6, pytest‐4.2.1, py‐1.7.0, pluggy‐0.8.1
rootdir: /Users/liuke/test/demo, inifile:
collected 1 item
test_case.py F [100%]
=================================== FAILURES ===================================
________________________________ test_function _________________________________
  def test_function():
>     assert foo(3, 4) == 8
E     assert 7 == 8
E      + where 7 = foo()
test_case.py:5: AssertionError
=========================== 1 failed in 0.07 seconds ===========================

pytest支持显示常见的子表达式的值,包括调用,属性,比较以及二元和一元运算符。(参看Demo
of Python failure reports with purest 这允许你使用你习惯的python的在不丢失内省信息的情况下
构造代码。(什么是内省信息?更详细的内部输出信息?) 如果你为断言指定了输出信息,那么不会
输出任何内省信息,而是在traceback中直接输出指定的信息:

assert a % 2 ==0, "value was odd, should be even"

更多断言内省信息请参考Advanced assertion introspection

标签:语句,断言,py,assert,pytest,test,foo
From: https://www.cnblogs.com/liu-ke/p/17175609.html

相关文章

  • SQL注入探测语句汇总
    首先是我学习到的一些好用的探测语句:假设场景是post参数里传递了一个参数:&id=1&,这种情况就可以使用下面十分好用的探测语句:方法一:CASEWHEN...THEN...ELSE...END的使用......
  • Mybatis动态SQL语句大全
    读完这篇文章里你能收获到Mybatis动态SQL语句大全Mybatis中如何定义变量Mybatis中如何提取公共的SQL片段1.If语句需求:根据作者名字和博客名字来查询博客!如果作......
  • Python assert(断言)
    Pythonassert(断言)用于判断一个表达式,在表达式条件为false的时候触发异常。断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况,例如......
  • Verilog 语句
    可综合语句Module...endmoduleModule(clk,a,b,c,d);inputclk;input[2:0]a,b;outputb;inoute;endmodulemodule括号声明所有输入和输出......
  • pytest 的命令行执行 ;jenkins命令行执行
    命令行执行#!/bin/bashcd/home/autoTest/yi_api_test_profess/test_casepython3-mpytest-vstest_order_profess.py-mcn--alluredir/root/.jenkins/workspace/yi......
  • KingbaseES 数据表复制语句的功能差异
    Kingbase数据表复制操作数据库使用过成中,经常会遇到在现有的表结构基础上,对表结构进行复制。在KingbaseES数据库可以采用selectinto,createtableasselect,createtable......
  • 工作几种常用数据库操作sql语句
    改变字段顺序的方法:移动字段到某字段的后面altertable表名modify字段名字段类型after字段eg:altertableusermodifypswvarchar(32)aftername;、删除表字段......
  • Pytest之生成allure报告
    一、前戏在之前我们已经学会使用pytest-html插件生成html格式的测试报告:1#第一步,安装插件2pipinstallpytest-html3​4#第二步,执行用例时使用--html......
  • Pytest 固件
    一、固件使用背景在执行测试用例时,我们常常需要在测试用例执行的前后去完成一些额外的操作。例如针对于Web测试,在用例执行前需要打开浏览器,完成用户登录等一系列前置操......
  • 分时问候——时间类、if语句
    importjava.time.LocalTime;publicclassHello{publicstaticvoidmain(String[]args){LocalTimenow=LocalTime.now();inthour=now......