pytest_用例运行级别_模块级
'''
pytest 参数说明
https://www.jianshu.com/p/7a7432340f02
-x test_fixt_model.py 遇到错误时,停止运行
用-v运行(-v显示运行的函数)py.test –v test_fixt_model.py, 用例设计原则
文件名以 test_*.py 文件和*_test.py
以 test_开头的函数
以 Test 开头的类
以 test_开头的方法
所有的包 pakege 必项要有__init__.py 文件 用例运行级别
模块级(setup_module/teardown_module)开始于模块始末,
全局的在类中不起作用
函数级(setup_function/teardown_function只对函数用例生
效(不在类中)
类级(setup_class/teardown_class)只在类中前后运行一次(在
类中)
方法级(setup_method/teardown_method)开始于方法始末
(在类中)
类里面的(setup/teardown)运行在调用方法的前后
'''
import pytest
def setup_module():
"""
这是一个module级别的setup,它会在本module(test_fixt_model.py)里
所有test执行之前,被调用一次。
注意,它是直接定义为一个module里的函数"""
print()
print("-------------- setup before module --------------")
def teardown_module():
"""
这是一个module级别的teardown,它会在本module(test_fixt_model.py)里
所有test执行完成之后,被调用一次。
注意,它是直接定义为一个module里的函数"""
print("-------------- teardown after module --------------") class TestClass():
def setup(self):
print("setup:每个用例前,都会执行")
def teardown(self):
print("teardown:每个用例后,都会执行")
def test_one(self):
print("正在执行test_one")
x = "this"
assert 'h' in x
def test_two(self):
print("正在执行test_two")
a = "hello"
b = "hello word"
assert a in b
class TestUser():
def setup(self):
print("setup:每个用例前,都会执行")
def teardown(self):
print("teardown:每个用例后,都会执行")
def test_one(self):
print("正在执行test_one") if __name__ == '__main__':
pytest.main(['-q','test_fixt_model'])
运行结果;
============================= test session starts =============================
platform win32 -- Python 3.7.4, pytest-5.1.0, py-1.8.0, pluggy-0.12.0
rootdir: E:\py_pytest\interfacecollected 3 items
test_fixt_model.py
-------------- setup before module --------------
setup:每个用例前,都会执行
.正在执行test_one
teardown:每个用例后,都会执行
setup:每个用例前,都会执行
.正在执行test_two
teardown:每个用例后,都会执行
setup:每个用例前,都会执行
.正在执行test_one
teardown:每个用例后,都会执行
-------------- teardown after module --------------
[100%]
============================== 3 passed in 0.02s ==============================
pytest_用例运行级别_模块级的更多相关文章
- pytest_用例运行级别_函数级
''' 函数级(setup_function/teardown_function只对函数用例生 效(不在类中)在类中是用该方法不生效 ''' import pytest def setup_mod ...
- pytest_用例运行级别_class级
''' 模块级(setup_module/teardown_module)开始于模块始末, 全局的在类中不起作用 类级(setup_class/teardown_class)只在类中前后运行一次(在 ...
- 第14章 Linux启动管理(1)_系统运行级别
1. CentOS 6.x 启动管理 (1)系统运行级别 ①运行级别 运行级别 含义 0 关机 1 单用户模式,可以想象为Windows的安全模式,主要用于系统修复.(但不是Linux的安全模式) 2 ...
- ubuntu 运行级别initlevel
Linux 系统任何时候都运行在一个指定的运行级上,并且不同的运行级的程序和服务都不同,所要完成的工作和要达到的目的都不同,系统可以在这些运行级之间进行切换,以完成不同的工作.Ubuntu 的系统运行 ...
- linux运行级别
也许大家偶然会发现/sbin里有个init命令.你知道它是如何使用的吗? 如果你不喜欢使用图形登录方式,如何能够让用户在控制台下运行startx命令呢? 有时你要维护服务器,暂时不希望别的用户登录系统 ...
- 运行级别(run level)
inittab是很多linux版本的启动脚本.Linux在完成核内引导以后,就开始运行init程序,它的进程号是1,是所有其他进程的起点.init需要读取/etc/inittab,该文件告诉init在 ...
- CentOS统的7个运行级别的含义
原文: http://blog.csdn.net/liansehai/article/details/45370965 CentOS系统有7个运行级别(runlevel) 运行级别就是操作系统当前正在 ...
- linux的七大运行级别及级别修改
运行级别 级别说明 0 所有进程将被终止,机器将有序的停止,关机时系统处于这个运行级别 1 单用户模式,用于系统维护,只有少数进程运行,同时所有服务也不 ...
- 关于Ubuntu运行级别、开机启动脚本的说明
关于Ubuntu运行级别.开机启动脚本的说明 目录简介 1.1介绍Ubuntu下面的自启动脚本目录 1.2 Linux操作系统运行级别的概念 1.3关于操作系统自启脚本的启动顺序 1.4 Lin ...
随机推荐
- css设计丝带
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8&quo ...
- 【ABAP系列】SAP ABAP基础-SQL的嵌套使用
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP基础-SQL的嵌 ...
- C++ bitset的使用
bitset 一般代替 bool 数组使用,常用于优化空间,因为 bitset 中一个元素只占 1 bit. bitset 的大小在定义使就需要确定.如果想要不定长的 bitset,就需要使用 vec ...
- docker 一小时快速入门之利用docker安装Redis
利用docker方式快捷安装redis 该方式默认下载的最新版本镜像,如需要下载指定版本在redis后面跟:版本号 docker pull redis 查看当前下载redis的镜像 docker im ...
- ELK日志分析系统之elasticsearch7.x最新版安装与配置
1.Elasticsearch 1.1.elasticsearch的简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful ...
- JavaScript.import
// --file.js-- function getJSON(url, callback) { let xhr = new XMLHttpRequest(); xhr.onload = fu ...
- Stream的排序
1.list<Integer>的正序 List<Integer> list = new ArrayList<>();list.add(50);list.add(45 ...
- 58-python基础-python3-集合-集合常用方法-删除元素-remove()-discard()-pop()-clear()
删除元素-remove()-discard()-pop()-clear() 1-remove() remove()用于删除一个set中的元素,这个值在set中必须存在,如果不存在的话,会引发KeyEr ...
- 解决java.net.BindException: Address already in use(Bind failed)端口占用问题
问题描述: 解决办法: sudo lsof -i:20101ps -ef|grep 9905kill -9 9905ps -ef|grep 9905 ------------------------- ...
- ORM多对多的实现
#coding=utf-8 from sqlalchemy import Table, Column, Integer,String,DATE, ForeignKey from sqlalchemy. ...