#firtures通常用来对测试方法、测试函数、测试类和整个测试文件进行初始化或还原测试环境
# setup_module/teardown_module:在当前文件中,在所有测试用例执行之前与之后执行,只执行一次;
# setup_function/teardown_function:在每个测试函数之前与之后执行;
# setup/teardown:在每个测试函数之前与之后执行;

# 在当前文件下打开cmd窗口执行:pytest -s test_fixtures_01.py

#功能函数
def multiply(a,b):
return a * b

#===============Firtures=============
def setup_module(module):
print('setup_module------------>')

def teardown_module(module):
print('teardown_module--------->')

def setup_function(function):
print('setup_function---------->')

def teardown_function(function):
print('teardown_function-------->')

def setup():
print('setup---------->')

def teardown():
print('teardown------->')

#==========测试用例==========
def test_multiply_3_4():
print('test_numbers_3_4')
assert multiply(3,4) == 12

def test_multiply_a_3():
print('test_numbers_a_3')
assert multiply('a',3) == 'aaa'

#pytest 是支持使用测试类的,同样必须以Test开头,注意首字母大写。
# setup_class/teardown_class:在当前测试类的开始与结束时执行,只执行一次;
# setup_module/teardown_module:在每个测试方法开始与结束时执行;
# setup/teardown:在每个测试方法开始与结束时执行;

# 在当前文件下打开cmd窗口执行:pytest -s test_fixtures_02.py

#功能函数
def multiply(a,b):
return a * b

class TestMultiply:
#===============Firtures=============
@classmethod
def setup_class(cls):
print('setup_class------------>')

@classmethod
def teardown_class(cls):
print('teardown_class--------->')

def setup_module(self,module):
print('setup_module------------>')

def teardown_module(self,module):
print('teardown_module--------->')

def setup(self):
print('setup---------->')

def teardown(self):
print('teardown------->')

#==========测试用例==========
def test_multiply_5_6(self):
print('test_numbers_5_6')
assert multiply(5,6) == 30

def test_multiply_b_3(self):
print('test_numbers_b_3')
assert multiply('b',3) == 'bbb'

最新文章

  1. 【追寻javascript高手之路04】理解prototype
  2. python为什么有私有方法和变量
  3. swift 异步加载图片(第三方框架ImageLoader)
  4. volatile 关键字的复习
  5. 常用字符串API
  6. SQLIO Disk Subsystem Benchmark Tool
  7. mysqldump: unknown option '--no-beep'
  8. [转] GDB disassemble
  9. mongoDB windows reinstall add auth
  10. 在四川大学的第二个冠军游戏在线编程:Peter的X
  11. Tornado 用户身份验证框架
  12. java基础(八)-----深入解析java四种访问权限
  13. Anaconda安装python tensorflow 环境
  14. CentOS7 安装配置rsync
  15. Golang入门教程(八)复合数据类型使用案例一
  16. Asp.Net Identity cookie共享
  17. Faster RCNN原理分析(二):Region Proposal Networks详解
  18. 重温servlet②
  19. 与IE的战斗
  20. [转帖] IPsec相关知识 --未知来源

热门文章

  1. cuDNN 功能模块解析
  2. 码农飞升记-04-OracleJDK 与 OpenJDK 的区别和联系以及 OracleJDK builds 与其他 OpenJDK builds 的选择问题
  3. 微软发布了Visual Studio 2022 Preview 1 以及.NET 6 Preview 5
  4. 【NX二次开发】查找部件中的对象 UF_OBJ_cycle_objs_in_part
  5. centos 7 查看磁盘使用情况
  6. 基于ILI9341的TFT液晶显示模组LCM240320详解(1)
  7. Drools规则引擎实践直白总结
  8. Terraform入门教程,示例展示管理Docker和Kubernetes资源
  9. 18、linux文件属性
  10. 利用C语言判别用户输入数的奇偶性和正负性