关于网站建设的简历模板,嘉兴seo网站优化,住建局现任领导班子,桐城住房和城乡建设局网站目录
1. 创建夹具
1.1 pytest方式
1.2 unittest方式
2. 使用夹具
2.1 通过参数引用
2.2 通过函数引用
3. 参数详解
3.1 scope#xff1a;作用域
3.2 params-参数化
3.3 autouseTrue表示自动使用#xff0c;默认为False
3.4 ids#xff1a;设置变量名 3.5 name作用域
3.2 params-参数化
3.3 autouseTrue表示自动使用默认为False
3.4 ids设置变量名 3.5 name别名 1. 创建夹具
1.1 pytest方式
pytest.fixture()
def test_a():print(case执行之前执行)yieldprint(case执行之后执行)
1.2 unittest方式
class Test:def setup_method(self):print(setup_method:case执行之前执行--用例之前执行一次)def teardown_method(self):print(teardown_method:case执行之后执行--每个case执行之前均执行)def setup_class(self):print(setup_class:case执行之前执行--每个case执行之后均执行)def teardown_class(self):print(teardown_class:case执行之后执行--全部用例执行完了之后才执行) 2. 使用夹具
2.1 通过参数引用 2.2 通过函数引用 3. 参数详解
pytest.fixture(scope,params,autouse,ids,name)
3.1 scope作用域
表示标记方法的作用域function默认classmodulepackagesession
session module class function
function每个用例都有一个
pytest.fixture(scopefunction)
def test_a():print(之前执行)yieldprint(之后执行)
class Test_A:def test_1(self,test_a):print(test_1)def test_2(self,test_a):print(test_2)
class Test_B:def test_3(self,test_a):print(test_3) class每个class 共用一个
pytest.fixture(scopeclass)
def test_a():print(之前执行)yieldprint(之后执行)
class Test_A:def test_1(self,test_a):print(test_1)def test_2(self):print(test_2)
class Test_B:def test_3(self):print(test_3) 下面就不举例了module每个文件共用一个package每个包共用一个session全局共用一个
3.2 params-参数化
支持列表[]、元组()、字典列表[{},{}]字典元组({}{})
fixture引用外部参数
param [111,[1,2],(a,b)]
pytest.fixture(paramsparam)
def test_a(request):test request.paramreturn testdef test_1(test_a):print(test_a) fixture标签直接进行参数化
pytest.fixture(params[1,2,aaaa])
def test_b(request):test1 request.paramreturn test1
def test_2(test_b):print(test_b) 3.3 autouseTrue表示自动使用默认为False
autouseTrue时无论是否使用都会被使用
pytest.fixture(autouseTrue)
def test_a():print(test_a)def test_1():print(test_1) autouseFalse时必须要手动调用了才会被使用
pytest.fixture(autouseFalse)
def test_b():print(test_b)def test_2(test_b):print(test_2) 3.4 ids设置变量名
当使用params参数化时给每一个值设置一个变量名
param [111,[1,2],(a,b)]
pytest.fixture(paramsparam,ids[user1,user2,user3])
def test_a(request):test request.paramreturn testdef test_1(test_a):print(test_a) 3.5 name别名
表示被pytest.fixture标记的方法取一个别名当取了别名后原来的名称就不能用了
pytest.fixture(nameyyyy)
def test_a():print(11111)def test_1(yyyy):print(test_1)
def test_2(test_a):print(test_1)