pytest初始化与清除(一)
一.初始化函数
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初始化与清除(一)的更多相关文章
- pytest初始化与清除fixture(二)
@pytest.fixture用法 1.导入pytest模块:import pytest 2.调用装饰器函数:@pytest.fixture(callable_or_scope=None,*args, ...
- 《C++编程思想》第四章 初始化与清除(原书代码+习题+解答)
相关代码: 1. #include <stdio.h> class tree { int height; public: tree(int initialHeight); ~tree(); ...
- Java编程思想(四)初始化和清除
4.1用构建器自动初始化 若某个类中有一个构建器,那么在创建对象时,Java会自动调用哪个构建器 在Java中构建器的名字必须与类名相同,这样可以保证这样一个方法惠子初始化期间自动调用: 利用构 ...
- bss段为什么要初始化,清除
我们都知道bss段需要初始化,但是这是为什么呢? 通过浏览资料,我们都会发现,bss段是不会出现在程序下载文件(*.bin *.hex)中的,因为全都是0.如果把它们出现在程序下载文件中,会增加程序下 ...
- Django数据库表初始化缓存清除
新建的django项目中没有应用app01??? models中也没有UserInfo表???? 但在migrate是却一直报错!!!!! 产生此种现象的原因: 之前的项目中肯定是用到过应用app01 ...
- RF之条件判断、初始化清除-4
条件判断: rf中用run keyword if 关键字做条件判断,以此来达到类似在python中if ...else...条件判断的功能. 注意:ELSE IF一定都是大写的,不然运行 ...
- pytest+allure基础知识
介绍 pytest是基于unittest开发的另一款更高级更好用的单元测试框架 支持参数化 执行测试过程中可以将某些测试跳过(skip),或者对某些预期失败的case标记成失败 支持运行由 nose, ...
- ExtJS 4.2 Date组件扩展:添加清除按钮
ExtJS中除了提供丰富的组件外,我们还可以扩展他的组件. 在这里,我们将在Date日期组件上添加一个[清除]按钮,用于此组件已选中值的清除. 目录 1. Date组件介绍 2. 主要代码说明 3. ...
- 使用服务器参数文件(SPFILE)管理初始化参数
传统上,Oracle数据库的初始化参数存储在文本初始化参数文件中.为了更好的可管理性,您可以选择在二进制服务器参数文件中维护初始化参数,该文件在数据库启动和关闭期间保持不变.本节介绍服务器参数文件,并 ...
随机推荐
- 发生系统错误 1275.此驱动程序被阻止加载 寒江孤钓<<windows 内核安全编程>> 学习笔记
安装书中第一章成功安装first服务之后,在cmd窗口使用命令行 "net start first" 时, 出现 "发生系统错误 1275.此驱动程序被阻止加载" ...
- MySQL模糊查询,查询语句是对的。但是就是没有查询结果
问题 解决 当我用其他非中文的值去查询,发现可以查询到结果 所以问题就出现在数据库的配置中 spring.datasource.url=jdbc:mysql://localhost:3306/data ...
- Faust——python分布式流式处理框架
摘要 Faust是用python开发的一个分布式流式处理框架.在一个机器学习应用中,机器学习算法可能被用于数据流实时处理的各个环节,而不是仅仅在推理阶段,算法也不仅仅局限于常见的分类回归算法,而是会根 ...
- TortoiseGit生成.PPK拓展名的密钥
在TortoiseGit 运行目录下找到puttygen.exe 工具 运行puttygen.exe genertate :代表动态生成新的内容 load :导入旧的密钥 save private k ...
- Django(10)ORM模型介绍
前言 随着项目越来越大,采用写原生SQL的方式在代码中会出现大量的SQL语句,那么问题就出现了: 1.SQL语句重复利用率不高,越复杂的SQL语句条件越多,代码越长.会出现很多相近的SQL语句. 2. ...
- python模块导入原理
转自:http://blog.csdn.net/u012422440/article/details/41791433 今日在自学Python,借此机会,正好重新开始写博文,既可以巩固python的知 ...
- head元素的内容
一.head元素 head元素的内容用来向浏览器提供一些文档信息,此外还可以包含js脚本和css层叠样式单.head中一般包含title.meta.css.js等内容,head中元素的内容在浏览器中不 ...
- Jira&Confluence服务器安装
1.Mysql安装 参考https://confluence.atlassian.com/doc/database-setup-for-mysql-128747.html 创建相应的数据库 CREAT ...
- Linux进阶之软件管理
本节内容 一.rpm:管理linux软件程序的 特点:安装方便 不能解决依赖关系 1.安装软件: -i: -v: -h: rpm -ivh 包名 2.卸载软件 -e: 清楚 rpm -e 程序名 3. ...
- json字符串和字典的区别
json字符串和字典的区别: json: (JavaScript Object Notation)的首字母缩写,字面的意思是(javascript对象表示法),这里说的json指的是类似于javasc ...