一.初始化函数

  1.测试用例级别:def setup()

  2.套件级别(在模块文件中定义):def setup_module()

  3.套件级别(在类中定义): @classmethod

              def setup_class()

二.清除函数

  1.测试用例级别:def teardown()

  2.套件级别(在模块文件中定义):def teardown_module()

  3.套件级别(在类中定义):@classmethod

                 def teardown_class()

三.代码示例1(模块文件中定义测试用例级别)

from api.compare_result import CompareResult
from api.gy import gy_v4 def test_gy1():
inputxml1 = 'C:/Users/cale/checkapi/data/input/gyopt.xml'
outputxml1 = 'C:/Users/cale/checkapi/data/output/gyopt.xml'
cmpr=CompareResult()
cmpr.compareXML(gy_v4,inputxml1,outputxml1) def test_gy2():
inputxml2 = 'C:/Users/cl/checkapi/data/input/gyipt.xml'
outputxml2 = 'C:/Users/cl/checkapi/data/output/gyipt.xml'
cmpr2=CompareResult()
cmpr2.compareXML(gy_v4,inputxml2,outputxml2) def setup():
print("执行测试用例前会先执行此方法") def teardown():
print('执行完测试用例后会执行此方法')

执行结果:

 结论:测试用例级别的套件,初始化清除的功能作用于每一个测试用例

代码示例2(模块文件中定义测试套件级别)

from api.compare_result import CompareResult
from api.gy import gy_v4 def test_gy1():
inputxml1 = 'C:/Users/cale/checkapi/data/input/gyopt.xml'
outputxml1 = 'C:/Users/cale/checkapi/data/output/gyopt.xml'
cmpr=CompareResult()
cmpr.compareXML(gy_v4,inputxml1,outputxml1) def test_gy2():
inputxml2 = 'C:/Users/cl/checkapi/data/input/gyipt.xml'
outputxml2 = 'C:/Users/cl/checkapi/data/output/gyipt.xml'
cmpr2=CompareResult()
cmpr2.compareXML(gy_v4,inputxml2,outputxml2) def setup_module():
print("执行测试套件前会先执行此方法") def teardown_module():
print('执行完测试套件后会执行此方法')

执行结果:

 代码示例3(类中定义测试套件级别,注意方法名的改变)

from api.compare_result import CompareResult
from api.gy import gy_v4 class TestSuite():
def test_gy1(self):
inputxml1 = 'C:/Users/cale/checkapi/data/input/gyopt.xml'
outputxml1 = 'C:/Users/cale/checkapi/data/output/gyopt.xml'
cmpr=CompareResult()
cmpr.compareXML(gy_v4,inputxml1,outputxml1) def test_gy2(self):
inputxml2 = 'C:/Users/cl/checkapi/data/input/gyipt.xml'
outputxml2 = 'C:/Users/cl/checkapi/data/output/gyipt.xml'
cmpr2=CompareResult()
cmpr2.compareXML(gy_v4,inputxml2,outputxml2) @classmethod
def setup_class(self):
print("执行测试套件前会先执行此方法") @classmethod
def teardown_class(self):
print('执行完测试套件后会执行此方法')

结果:

    

pytest初始化与清除(一)的更多相关文章

  1. pytest初始化与清除fixture(二)

    @pytest.fixture用法 1.导入pytest模块:import pytest 2.调用装饰器函数:@pytest.fixture(callable_or_scope=None,*args, ...

  2. 《C++编程思想》第四章 初始化与清除(原书代码+习题+解答)

    相关代码: 1. #include <stdio.h> class tree { int height; public: tree(int initialHeight); ~tree(); ...

  3. Java编程思想(四)初始化和清除

    4.1用构建器自动初始化 若某个类中有一个构建器,那么在创建对象时,Java会自动调用哪个构建器    在Java中构建器的名字必须与类名相同,这样可以保证这样一个方法惠子初始化期间自动调用: 利用构 ...

  4. bss段为什么要初始化,清除

    我们都知道bss段需要初始化,但是这是为什么呢? 通过浏览资料,我们都会发现,bss段是不会出现在程序下载文件(*.bin *.hex)中的,因为全都是0.如果把它们出现在程序下载文件中,会增加程序下 ...

  5. Django数据库表初始化缓存清除

    新建的django项目中没有应用app01??? models中也没有UserInfo表???? 但在migrate是却一直报错!!!!! 产生此种现象的原因: 之前的项目中肯定是用到过应用app01 ...

  6. RF之条件判断、初始化清除-4

    条件判断:        rf中用run keyword if 关键字做条件判断,以此来达到类似在python中if ...else...条件判断的功能. 注意:ELSE IF一定都是大写的,不然运行 ...

  7. pytest+allure基础知识

    介绍 pytest是基于unittest开发的另一款更高级更好用的单元测试框架 支持参数化 执行测试过程中可以将某些测试跳过(skip),或者对某些预期失败的case标记成失败 支持运行由 nose, ...

  8. ExtJS 4.2 Date组件扩展:添加清除按钮

    ExtJS中除了提供丰富的组件外,我们还可以扩展他的组件. 在这里,我们将在Date日期组件上添加一个[清除]按钮,用于此组件已选中值的清除. 目录 1. Date组件介绍 2. 主要代码说明 3. ...

  9. 使用服务器参数文件(SPFILE)管理初始化参数

    传统上,Oracle数据库的初始化参数存储在文本初始化参数文件中.为了更好的可管理性,您可以选择在二进制服务器参数文件中维护初始化参数,该文件在数据库启动和关闭期间保持不变.本节介绍服务器参数文件,并 ...

随机推荐

  1. (2) arm 指令条件码

    条件码助记符 标志 含义 EQ Z=1 相等 NE Z=0 不相等 CS/HS C=1 无符号数大于或等于 CC/LO C=0 无符号数小于 MI N=1 负数 PL N=0 正数或0 VS V=1 ...

  2. Portswigger web security academy:OAth authentication vulnerable

    Portswigger web security academy:OAth authentication vulnerable 目录 Portswigger web security academy: ...

  3. 【Android Jetpack高手日志】DataBinding 从入门到精通

    前言 DataBinding 数据绑定库是 Android Jetpack 的一部分,借助该库可以使用声明性格式(而非程序化地)将布局中的界面组件绑定到应用中的数据源.我个人觉得,使用 DataBin ...

  4. 【python】Leetcode每日一题-螺旋矩阵2

    [python]Leetcode每日一题-螺旋矩阵2 [题目描述] 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix . ...

  5. layui框架下如何给select的option选项赋值

    后端返回数据格式 axios方法执行成功后返回的数据格式如下图 前端下拉框 <div class="layui-form-item"> <label class= ...

  6. NumPy之:理解广播

    目录 简介 基础广播 广播规则 简介 广播描述的是NumPy如何计算不同形状的数组之间的运算.如果是较大的矩阵和较小的矩阵进行运算的话,较小的矩阵就会被广播,从而保证运算的正确进行. 本文将会以具体的 ...

  7. 还不懂 redis 持久化?看看这个

    Redis 是一个内存数据库,为了保证数据不丢失,必须把数据保存到磁盘,这就叫做持久化. Redis 有两种持久化方法: RDB 方式以及 AOF 方式 RDB 持久化 前言 RDB持久化把内存中的数 ...

  8. .NET Core 基于 Grafana Loki 日志初体验

    介绍 Loki: like Prometheus, but for logs. Loki是一个轻量级的日志系统,受到Prometheus项目的启发,由Grafana团队设计和开发,所以在Grafana ...

  9. 教你用SQL实现统计排名

    前言: 在某些应用场景中,我们经常会遇到一些排名的问题,比如按成绩或年龄排名.排名也有多种排名方式,如直接排名.分组排名,排名有间隔或排名无间隔等等,这篇文章将总结几种MySQL中常见的排名问题. 创 ...

  10. FHD 4K 8K分辨率

    4K(2160P,即4096×2160的像素分辨率)和8K(4320P,即7,680 × 4,320的像素分辨率)属于UHDTV. FHD是FULL HD(Full High Definition)的 ...