Pytest08 指定fixture作用範圍

2021-09-06 21:42:53 字數 1912 閱讀 2581

fixture的指定範圍包括函式(scope=『function』) (scope=『module』) (scope=『class』) (『scope=『session』) 分別對應

函式級別,模組級別,類級別,會話級別 。

用個例子感受下他們的執行順序已經銷毀順序.

import pytest

@pytest.fixture(scope='function')

def func_scope():

print("函式級別的fixtue")

@pytest.fixture(scope='module')

def module_scope():

print("模組級別的fixtue")

@pytest.fixture(scope='session')

def session_scope():

print("會話級別的fixtue")

@pytest.fixture(scope='class')

def class_scope():

print("類級別的fixtue")

def test_func_01(func_scope,module_scope,session_scope):

print("執行函式一")

def test_func_02(func_scope,module_scope,session_scope):

print("執行函式2")

@pytest.mark.usefixtures('class_scope')

class test_class():

def test_func_03(self):

print("執行類函式3")

def test_func_04(self):

print("執行類函式4")

執行結果:

test_add.py 

會話級別的fixtue

模組級別的fixtue

函式級別的fixtue

.執行函式一

函式級別的fixtue

.執行函式2

類級別的fixtue

.執行類函式3

.執行類函式4

可以得出:

執行順序是 session>module>class>function>

銷毀順序相反 ,我們可以拿追溯來檢視fixtue的執行過程:

setup    s session_scope

setup m module_scope

setup f func_scope

func/test_add.py::test_func_01 (fixtures used: func_scope, module_scope, session_scope).

teardown f func_scope

setup f func_scope

func/test_add.py::test_func_02 (fixtures used: func_scope, module_scope, session_scope).

teardown f func_scope

setup c class_scope

func/test_add.py::test_class::test_func_03 (fixtures used: class_scope).

func/test_add.py::test_class::test_func_04 (fixtures used: class_scope).

teardown c class_scope

teardown m module_scope

teardown s session_scope

pytest08 在pytest中配置環境變數

首先import os,寫入系統當前目錄的環境變數 然後用os.envtiron方法來獲取。可以寫到conftest.py中,放到根目錄下,當成全域性變數 命令列引數設定 parser.addoption cmdhost action store default help my option typ...

001 指定執行級別

一 執行級別的概念 在我們的linux系統之中,根據最初的設計中,將linux設定為7個執行級別.1 0級別 表示關機.2 1級別 單使用者級別 3 2級別 多使用者無網路級別 4 3級別 多使用者有網路服務的級別 這個級別是用的最多的 5 4級別 這個級別現在還是保留級別 6 5級別 含有圖形化的...

hiveserver2 指定佇列

結論 綜上所述,使用者通過beeline連線hiveserver2後的佇列選取,預設情況下受公平排程策略的影響,如果想通過hive site.xml或者mapred site.xml中指定mapreduce.job.queuename,有乙個非常簡單的辦法就是將屬性值hive.server2.map...