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 ...
随机推荐
- qt ui界面控件布局设计
1.布局控件简介: 水平布局,里面的控件将水平展示,布局器里面的控件大小若没有固定,其大小将随着布局的大小而自动拉伸.可以通过设置其左(layoutLeftMargin).上(layoutTopMar ...
- python mqtt 客户端实现
安装paho-mqtt pip install paho-mqtt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com py ...
- Oracle之子查询:Top-N问题
学习了SQL子查询,遇到个Top-N问题,即:加入有张工资表(这里使用Oracle SCOTT用户的emp表),需要查找工资最高的3个员工信息,以下列格式输出: 乍眼一看,这很简单啊,对sal进行排序 ...
- java集合类笔试选择题整理含答案
1.ArrayList list=new ArrayList(20);中的list扩充几次()A. 0B. 1C. 2D. 3答案:A分析:已经指定了长度, 所以不扩容 2.List.Set.Map哪 ...
- oracle client 卸载
1.停用oracle服务:进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止 2.在开始菜单中,找到Universal Installer,运行Oracle Universal I ...
- @HttpEntity参数(怪异)
1).在Controller中写 与@RequestBody请求体对应 @HttpEntity更强大,不光有请求体,还能获取请求头 @RequestMapping("/test02" ...
- Python3.5-20190519-廖老师-自我笔记-获取对象信息
总是优先使用isinstance()判断类型,可以将指定类型及其子类“一网打尽”. 如果要获得一个对象的所有属性和方法,可以使用dir()函数,它返回一个包含字符串的list,比如,获得一个str对象 ...
- 21.与重入锁相关联的Condition
import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock; /** * ...
- 【leetcode】985. Sum of Even Numbers After Queries
题目如下: We have an array A of integers, and an array queries of queries. For the i-th query val = quer ...
- C/C++ C++ 11 std::bind()
{ #define CC_CALLBACK_0(__selector__,__target__, ...) std::bind(&__selector__,__target__, ##__VA ...