目录:导读
一、前言
学过 unittest 的都知道里面用前置和后置 setup 和 teardown 非常好用,在每次用例开始前和结束后都去执行一次
当然还有更高级一点的 setupClass 和 teardownClass,需配合 @classmethod 装饰器一起使用,在做 selenium 自动化的时候,它的效率尤为突然,可以只启动一次浏览器执行多个用例
pytest框架也有类似于setup和teardown的语法,并且还不止这四个
二、用例运行级别
模块级(setup_module / teardown_module)开始于模块始末,全局的
函数级(setup_function / teardown_function)只对函数用例生效(不在类中)
类级(setup_class / teardown_class)只在类中前后运行一次(在类中)
方法级(setup_method / teardown_method)开始于方法始末(在类中)
类里面的(setup / teardown)运行在调用方法的前后
三、函数式
1、setup_function / teardown_function
1.pytest框架支持函数和类两种用例方式
先看函数里面的前置与后置用法:
setup_function / teardown_function (每个用例开始和结束调用一次)
# test_fixt.py
# coding:utf-8
import pytest
# 函数式
''' 测试追风 QQ交流群:743262921(备注222)'''
def setup_function():
print("setup_function:每个用例开始前都会执行")
def teardown_function():
print("teardown_function:每个用例结束后都会执行")
def test_one():
print("正在执行----test_one")
x = "this"
assert 'h' in x
def test_two():
print("正在执行----test_two")
x = "hello"
assert hasattr(x, 'check')
def test_three():
print("正在执行----test_three")
a = "hello"
b = "hello world"
assert a in b
if __name__ == "__main__":
pytest.main(["-s", "test_fixt.py"])
运行结果:
============================= test session starts =============================
platform win32 -- Python 3.6.0, pytest-3.6.3, py-1.5.4, pluggy-0.6.0
rootdir: E:\YOYO, inifile:
collected