pytest框架结构运行规则及命名方式
模块级 (setup_module/teardown_module) 不在类中的函数有用
函数级 (setup_function/teardown_function) 不在类中的函数有用
类级 (setup_class/teardown_class)只在 类中前后运行一次。
方法级 (setup_method/teardown_methond) 运行在类中方法始末
import pytest
def setup_module():
print('整个模块.py开始') def teardown_module():
print('整个模块的.py结束') def setup_function():
print('不在类中的函数前') def teardown_function():
print('不在类中的函数后') def test_w_one():
print('不在类中的方法1') def test_w_two():
print('不在类中的方法2') class TestClass:
def setup_class(self):
print('类前面') def teardown_class(self):
print('类之后') def setup_method(self):
print('方法前') def teardown_method(self):
print('方法后') def test_one(self):
x='this'
assert 'h' in x def test_two(self):
x='hello'
assert 'h4'==x def test_three(self):
a='hello'
b='hello world'
assert a in b if __name__ == '__main__':
pytest.main("-s -v","pytestDemo.py")
整个模块.py开始
不在类中的函数前
不在类中的方法1
不在类中的函数后
pytestDemo.py::test_w_one ✓ 20% ██ 不在类中的函数前
不在类中的方法2
不在类中的函数后
pytestDemo.py::test_w_two ✓ 40% ████ 类前面
方法前
方法后
pytestDemo.py::TestClass.test_one ✓ 60% ██████ 方法前
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― TestClass.test_two ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
self = <pytest_2.pytestDemo.TestClass object at 0x105b0f438>
def test_two(self):
x='hello'
> assert 'h4'==x
E AssertionError: assert 'h4' == 'hello'
E - h4
E + hello
pytestDemo.py:39: AssertionError
方法后
pytestDemo.py::TestClass.test_two ⨯ 80% ████████ 方法前
方法后
类之后
整个模块的.py结束
pytestDemo.py::TestClass.test_three ✓ 100% ██████████
Results (0.14s):
4 passed
1 failed
- pytestDemo.py:37 TestClass.test_two
pytest框架结构运行规则及命名方式的更多相关文章
- Pytest单元测试框架-测试用例运行规则
1.Pytest测试用例运行规则 在pytest单元测试框架下面执行用例,需要满足以下几个特点: 1. 文件名以test_*.py开头或者*_test.py 2. 测试类.测试函数以test开头 3. ...
- 你应该了解的CSS语义化命名方式及常用命名规则
CSS语义化命名 从上图我们可以大概看出这里有两种CSS的命名方式:1.结构化命名法:2.语义化命名法. 结构化命名法:根据页面中板块的位置而命名,如上图中的content-left,这时如果我们想把 ...
- 详解Struts1.x的运行机制及命名规则
Struts1.x 调用一个action的大致流程: 1)首先前端发送 *.do的一个action请求(通过点击表单提交按钮,js 事件等): 2)web.xml 文件通过 *.do 找到 Actio ...
- JAVA的命名方式 ,JAVA的第一个打印时间的程序
本文内容来自:Java的命名方式 ,Java的第一个打印时间的程序 – Break易站 1. Java的命名方式 Java采用了一种全新的方法来避免上述所有问题·为了给一个类库生成不会与其他名字混淆的 ...
- pytest.2.运行多个文件
From: http://www.testclass.net/pytest/multiple_tests/ 背景 在现实的测试活动中,我们经常会定义多个用例文件,用来实现业务逻辑或其他逻辑上用例的物理 ...
- JMeter场景运行(非GUI方式运行命令)
JMeter场景运行方式可分为两种: GUI方式运行,视窗运行,双击jmeter.bat启动运行即可以看到运行界面: 非GUI方式运行,在命令窗口中使用java –jar命名运行: 但不管是以 ...
- biosdevname网卡命名方式
在前天通过了最后的 Go/No-Go 会议后,Fedora 15 已定于下周正式发布,这个永远站在开源技术最前沿的发行版,即将迎来又一个新的大的变动.作为 Fedora 用户,相信你已经习惯了每个新版 ...
- 问答:怎样规划CSS 中 的命名方式 怎样看待 CSS 中 BEM 的命名方式?
好多盆友 非常纠结 css命名规则 怎么弄,还没起步就被绊住了.那么今天蝈蝈就针对这个问题来讨论一下 没什么技术 含量.但却对效率开发至关重要的 "问题". 下文是一些知乎大神的个 ...
- ruby方法名之命名方式
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 modify_my_object!,这个方法名是以 ! 结尾,在 ruby 的对象里边是用于表达修改本身的意思. 比如 String#gsub ...
随机推荐
- go module管理依赖包
go mod 最大的好处就是摆脱了GOPATH这个限制,在除了GOPATH以外的目录下也能开展你的项目 go mod使用: 1,确保你的go版本是1.1以上 2,创建一个项目目录example,并添加 ...
- 64.二叉搜索树的第K个节点
题目描述: 给定一棵二叉搜索树,请找出其中的第k小的结点.例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4. 思路分析: 根据二叉搜索树的特殊性,我们中序遍历它 ...
- python opencv 生成验证码
基本思路是使用opencv来把随机生成的字符,和随机生成的线段,放到一个随机生成的图像中去. 虽然没有加复杂的形态学处理,但是目前看起来效果还不错 尝试生成1000张图片,但是最后只有998张,因为有 ...
- setclock - 用系统时间来设置硬件时间
总览 setclock 描述 setclock 用当前系统时钟存储的时间设置系统的硬件时间. 它先读取 /etc/sysconfig/clock 的时间格式, 时间存储前应该转化成这种格式. Red ...
- 【串线篇】SpringMvc源码分析
一.DispathcherServlet结构分析 1).所有请求过来DispatcherServlet收到请求, 2).调用doDispatch()方法进行处理 1).getHandler():根据当 ...
- elasticsearch 6.x 安装search guard
前言 es之前版本一直无用户验证功能,不过官方有提供一x-pack,但是问题是付费.在es的6.3.2版本中,已经集成了x-pack,虽然es团队已经对x-pack开源,但是在该版本中如果需要使用到安 ...
- 【和孩子一起学编程】 python笔记--第四天
第十一章: 可变循环 newStars = int(input("how many stars do you want?")) for i in range(newStars): ...
- Edge Computer:Vision and Challenges
Abstract 随着物联网(Internet of Things)的蓬勃发展和云服务(cloud services)的成功,出现一种新的计算模式:edge computer.用于边缘网络数据的处理, ...
- 云数据库POLARDB产品解读之二:如何做到高性价比
现在做任何事情都要看投入产出比,对应到数据库上其实就是性价比.POLARDB作为一款阿里自研数据库,经常被问的问题是:性能怎么样?能不能支撑我的业务?价格贵不贵?很显然,在早期调研阶段,对稳定性.可靠 ...
- GPIO软件模拟IIC时序
一.MPU6050中的IIC时序 1.1 START和STOP SDA和SCL在高电平时,SDA拉低表示START.SCL拉低,表示可以传输数据. SDA和SCL在低电平时,SDA拉高表示STOP. ...