经典模式
def multiply(a,b):
print("-------------------开始运算--------------")
return a*b
'''
================fixtures============
'''
# setup_module 在当前模块下,所有test执行之前执行。
def setup_module(module):
print("\n--------------------setup_module--------------------")
# testdown_module 在当前模块下,所有test执行之前执行。
def teardown_module(module):
print ("\n--------------------teardown_module--------------------")
# 在每个test之前,均执行。
def setup_function(function):
print("<-------------------------------------------------setup_function------>")
# 在每个test之后,均执行。
def teardown_function(function):
print ("<-------------------------------------------------teardown_function--->")
# 测试用例,执行顺序好像是按照书写顺序?
def test_multiply_24():
print('##############测试2*4=',multiply(2,4))
assert multiply(2,4)==8# 运行成功的case
def test_multiply_13():
print('##############测试1*3=',multiply(1,3))
assert multiply(1,3)==2 # 运行失败的case
# if __name__ == '__main__':
# pytest.main("-s test_fixtures.py") # 通过main方法的方式运行 命令行运行:pytest -s pytest1(运行该包下所有test_或者_test的py) or pytest1/t1.py
fixture 管理依赖
import pytest @pytest.fixture() def sum(): print('--------------------------smtp---------------:') return 1+2 def test_ehlo(sum): print('--------------------------test_ehlo------------') print(type(sum))