pytest裡面的setup 和 teardown

2021-10-12 09:35:07 字數 3925 閱讀 7053

pytest裡面的setup和teardown有以下幾種:

1. 先看一下函式級別的 setup_function/ teardown_function, 這個只對函式生效,不能用在類中;類中的方法不能使用

def setup_function():

print('setup_function')

def teardown_function():

print('teardown_function')

def test01():

print('test01')

def test02():

print('test02')

執行結果中可以看出,setup_function/teardown_funtion各被執行了兩次,每次呼叫函式前後都會執行一次

2. setup_class / teardown_class 只在類中前後執行一次

import pytest

def setup_function():

print('setup_function')

def teardown_function():

print('teardown_function')

def test01():

print('test01')

def test02():

print('test02')

class testcase1(object):

def setup_class(self):

print('setup_class')

def teardown_class(self):

print('teardown_class')

def test03(self):

print('test03 in class')

def test04(self):

print('test04 in class')

從結果中看出,setup_class/teardown_class在類中只會執行一次
3. setup_method / teardown_method 開始於方法始末(在類中)

def setup_function():

print('setup_function')

def teardown_function():

print('teardown_function')

def test01():

print('test01')

def test02():

print('test02')

class testcase1(object):

def setup_class(self):

print('setup_class')

def teardown_class(self):

print('teardown_class')

def test03(self):

print('test03 in class')

def test04(self):

print('test04 in class')

def setup_method(self):

print('setup_method')

def teardown_method(self):

print('teardown_method')

從結果中可以看出來,setup_method / teardown_method 會在類中每個方法執行前後各執行一次;不在類中的方法不可使用

4. setup / teardown 執行在呼叫方法的前後

import pytest

def setup_function():

print('setup_function')

def teardown_function():

print('teardown_function')

def test01():

print('test01')

def test02():

print('test02')

class testcase1(object):

def setup_class(self):

print('setup_class')

def teardown_class(self):

print('teardown_class')

def test03(self):

print('test03 in class')

def test04(self):

print('test04 in class')

def setup_method(self):

print('setup_method')

def teardown_method(self):

print('teardown_method')

def setup(self):

print('setup')

def teardown(self):

print('teardown')

從結果中看出,setup/teardown會在方法呼叫前後執行,只能用在類中

5. setup_module/ teardown_module開始於模組始末,全域性的

import pytest

def setup_function():

print('setup_function')

def teardown_function():

print('teardown_function')

def test01():

print('test01')

def test02():

print('test02')

def setup_module():

print('setup_module')

def teardown_module():

print('teardown_module')

class testcase1(object):

def setup_class(self):

print('setup_class')

def teardown_class(self):

print('teardown_class')

def test03(self):

print('test03 in class')

def test04(self):

print('test04 in class')

def setup_method(self):

print('setup_method')

def teardown_method(self):

print('teardown_method')

def setup(self):

print('setup')

def teardown(self):

print('teardown')

從執行結果中可以看出來,setup_module / teardown_module只在模組執行前後執行一次

jquery裡面的 this 和this

當你用的是jquery時,就用 this 如果是js,就用this this html this html bam 這個裡的html 是jquery方法,用 this html 當然,js裡也有相似方法innerhtml,如果用innerhtml,就要這樣寫了,這裡的reset是js方法,所以同上得...

js 裡面的 和

1.1.1兩邊條件都為true時,結果才為true 1.2如果有乙個為false,結果就為false 1.3當第乙個條件為false時,就不再判斷後面的條件 注意 當數值參與邏輯與運算時,結果為true,那麼會返回的會是第二個為真的值 如果結果為false,返回的會是第乙個為假的值。2.2.1只要有...

js裡面for迴圈裡面的of和in區別

for in 語句用於遍歷陣列或者物件的屬性名稱 key 鍵名 陣列中的每個元素的索引被視為屬性名稱,所以在使用for in遍歷array時,拿到的是每個元素索引 for in 迴圈只遍歷可列舉屬性。像 array和 object使用內建建構函式所建立的物件都會繼承自object.prototype...