日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python Pytest前置setup和后置teardown详解

發(fā)布時間:2025/3/15 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python Pytest前置setup和后置teardown详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

pytest用例運行級別:
●模塊級(setup_module/teardown_module)開始于模塊始末,全局的
●函數(shù)級(setup_function/teardown_function)只對函數(shù)用例生效
●類級(setup_class/teardown_class)只在類中前后運行一次(在類中生效,類外不生效)
●方法級(setup_method/teardown_method)開始于方法始末(在類中生效,類外不生效)
●類里面的(setup/teardown)運行在調(diào)用方法的前后(類中生效、類外有函數(shù)時生效)

函數(shù)級:

函數(shù)前置setup_function和后置teardown_function,放類中無效,放類外且類外有函數(shù)用例時才生效,每個用例開始前和結(jié)束后各調(diào)用一次,調(diào)用多次

import pytest def setup_function():print("setup_function:每個用例開始前都會執(zhí)行") def teardown_function():print("teardown_function:每個用例結(jié)束后都會執(zhí)行") def test_one():print("正在執(zhí)行---test_one") def test_two():print("正在執(zhí)行---test_two") def login():print("正在執(zhí)行---test_two") if __name__ == "__main__":pytest.main(["-s","test02.py"])"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test02.py ============================= test session starts ============================= platform win32 -- Python 3.5.2, pytest-5.1.2, py-1.8.0, pluggy-0.12.0 rootdir: C:\Users\wangli\PycharmProjects\Test\Test collected 2 itemstest02.py setup_function:每個用例開始前都會執(zhí)行 正在執(zhí)行---test_one .teardown_function:每個用例結(jié)束后都會執(zhí)行 setup_function:每個用例開始前都會執(zhí)行 正在執(zhí)行---test_two .teardown_function:每個用例結(jié)束后都會執(zhí)行============================== 2 passed in 0.14s ==============================Process finished with exit code 0

模塊前置setup_module和后置teardown_module,放類中無效,放類外且類外有函數(shù)用例或類內(nèi)有函數(shù)用例時才生效,整個.py模塊開始前和結(jié)束后各調(diào)用一次

import pytest def setup_module():print("setup_module:整個.py模塊開始執(zhí)行一次") def teardown_module():print("teardown_module:整個.py模塊結(jié)束執(zhí)行一次") def setup_function():print("setup_function:每個用例開始前都會執(zhí)行") def teardown_function():print("teardown_function:每個用例結(jié)束后都會執(zhí)行") def test_one():print("正在執(zhí)行---test_one") def test_two():print("正在執(zhí)行---test_two") def login_test():print("正在執(zhí)行---test_two") if __name__ == "__main__":pytest.main(["-s","test02.py"])"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test02.py ============================= test session starts ============================= platform win32 -- Python 3.5.2, pytest-5.1.2, py-1.8.0, pluggy-0.12.0 rootdir: C:\Users\wangli\PycharmProjects\Test\Test collected 2 itemstest02.py setup_module:整個.py模塊開始執(zhí)行一次 setup_function:每個用例開始前都會執(zhí)行 正在執(zhí)行---test_one .teardown_function:每個用例結(jié)束后都會執(zhí)行 setup_function:每個用例開始前都會執(zhí)行 正在執(zhí)行---test_two .teardown_function:每個用例結(jié)束后都會執(zhí)行 teardown_module:整個.py模塊結(jié)束執(zhí)行一次============================== 2 passed in 0.08s ==============================Process finished with exit code 0

類級:

類前置setup_class和后置teardown_class,放類外無效,放類內(nèi)且類內(nèi)有函數(shù)用例時才生效,類開始前和結(jié)束后各執(zhí)行一次(方法級,調(diào)用1次)

方法前置setup_method和后置teardown_method,放類外無效,放類內(nèi)且類內(nèi)有函數(shù)用例時才生效,每個用例開始前和結(jié)束后調(diào)用1次(方法級,調(diào)用多次)

類里面前置setup和后置teardown,放類內(nèi)(類內(nèi)有用例)和類外(有用例)都生效,每個用例開始前和結(jié)束后調(diào)用1次(函數(shù)、方法級,調(diào)用多次)

?

setup_class:所有用例執(zhí)行之前(類級)


setup_method:每個用例開始前執(zhí)行(方法級)
setup:每個用例開始前執(zhí)行(調(diào)用方法前)
正在執(zhí)行---test_one
.teardown:每個用例結(jié)束后執(zhí)行(調(diào)用方法后)
teardown_method:每個用例結(jié)束后執(zhí)行(方法級)


setup_method:每個用例開始前執(zhí)行(方法級)
setup:每個用例開始前執(zhí)行(調(diào)用方法前)
正在執(zhí)行---test_two
.teardown:每個用例結(jié)束后執(zhí)行(調(diào)用方法后)
teardown_method:每個用例結(jié)束后執(zhí)行(方法級)


teardown_class:所有用例執(zhí)行之后(類級)

?

import pytestclass Test():def setup(self):print("setup:每個用例開始前執(zhí)行(調(diào)用方法前)")def teardown(self):print("teardown:每個用例結(jié)束后執(zhí)行(調(diào)用方法后)")def setup_class(self):print("setup_class:所有用例執(zhí)行之前(類級)")def teardown_class(self):print("teardown_class:所有用例執(zhí)行之后(類級)")def setup_method(self):print("setup_method:每個用例開始前執(zhí)行(方法級)")def teardown_method(self):print("teardown_method:每個用例結(jié)束后執(zhí)行(方法級)")def test_one(self):print("正在執(zhí)行---test_one")def test_two(self):print("正在執(zhí)行---test_two")def login_test(self):print("正在執(zhí)行---test_two")if __name__ == "__main__":pytest.main(["-s","test02.py"])"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test02.py ============================= test session starts ============================= platform win32 -- Python 3.5.2, pytest-5.1.2, py-1.8.0, pluggy-0.12.0 rootdir: C:\Users\wangli\PycharmProjects\Test\Test collected 2 itemstest02.py setup_class:所有用例執(zhí)行之前(類級) setup_method:每個用例開始前執(zhí)行(方法級) setup:每個用例開始前執(zhí)行(調(diào)用方法前) 正在執(zhí)行---test_one .teardown:每個用例結(jié)束后執(zhí)行(調(diào)用方法后) teardown_method:每個用例結(jié)束后執(zhí)行(方法級) setup_method:每個用例開始前執(zhí)行(方法級) setup:每個用例開始前執(zhí)行(調(diào)用方法前) 正在執(zhí)行---test_two .teardown:每個用例結(jié)束后執(zhí)行(調(diào)用方法后) teardown_method:每個用例結(jié)束后執(zhí)行(方法級) teardown_class:所有用例執(zhí)行之后(類級)============================== 2 passed in 0.21s ==============================Process finished with exit code 0

類與函數(shù)混合:

setup_module和teardown_module優(yōu)先級最大

import pytest def setup_module():print("——setup_module:整個.py模塊開始執(zhí)行一次【函數(shù)】") def teardown_module():print("——teardown_module:整個.py模塊結(jié)束執(zhí)行一次【函數(shù)】") def setup_function():print("====setup_function:每個用例開始前都會執(zhí)行【函數(shù)】") def teardown_function():print("====teardown_function:每個用例結(jié)束后都會執(zhí)行【函數(shù)】") def test_one():print("正在執(zhí)行---test_one【函數(shù)】") def test_two():print("正在執(zhí)行---test_two【函數(shù)】") def setup():print("@@@@@setup:每個用例開始前執(zhí)行(調(diào)用方法前)【函數(shù)】") def teardown():print("@@@@@teardown:每個用例結(jié)束后執(zhí)行(調(diào)用方法后)【函數(shù)】") class Test():def setup(self):print("setup:每個用例開始前執(zhí)行(調(diào)用方法前)")def teardown(self):print("teardown:每個用例結(jié)束后執(zhí)行(調(diào)用方法后)")def setup_class(self):print("setup_class:所有用例執(zhí)行之前(類級)")def teardown_class(self):print("teardown_class:所有用例執(zhí)行之后(類級)")def setup_method(self):print("setup_method:每個用例開始前執(zhí)行(方法級)")def teardown_method(self):print("teardown_method:每個用例結(jié)束后執(zhí)行(方法級)")def test_three(self):print("正在執(zhí)行---test_one")def test_four(self):print("正在執(zhí)行---test_two") if __name__ == "__main__":pytest.main(["-s","test02.py"])"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test02.py ============================= test session starts ============================= platform win32 -- Python 3.5.2, pytest-5.1.2, py-1.8.0, pluggy-0.12.0 rootdir: C:\Users\wangli\PycharmProjects\Test\Test collected 4 itemstest02.py ——setup_module:整個.py模塊開始執(zhí)行一次【函數(shù)】 ====setup_function:每個用例開始前都會執(zhí)行【函數(shù)】 @@@@@setup:每個用例開始前執(zhí)行(調(diào)用方法前)【函數(shù)】 正在執(zhí)行---test_one【函數(shù)】 .@@@@@teardown:每個用例結(jié)束后執(zhí)行(調(diào)用方法后)【函數(shù)】 ====teardown_function:每個用例結(jié)束后都會執(zhí)行【函數(shù)】 ====setup_function:每個用例開始前都會執(zhí)行【函數(shù)】 @@@@@setup:每個用例開始前執(zhí)行(調(diào)用方法前)【函數(shù)】 正在執(zhí)行---test_two【函數(shù)】 .@@@@@teardown:每個用例結(jié)束后執(zhí)行(調(diào)用方法后)【函數(shù)】 ====teardown_function:每個用例結(jié)束后都會執(zhí)行【函數(shù)】 setup_class:所有用例執(zhí)行之前(類級) setup_method:每個用例開始前執(zhí)行(方法級) setup:每個用例開始前執(zhí)行(調(diào)用方法前) 正在執(zhí)行---test_one .teardown:每個用例結(jié)束后執(zhí)行(調(diào)用方法后) teardown_method:每個用例結(jié)束后執(zhí)行(方法級) setup_method:每個用例開始前執(zhí)行(方法級) setup:每個用例開始前執(zhí)行(調(diào)用方法前) 正在執(zhí)行---test_two .teardown:每個用例結(jié)束后執(zhí)行(調(diào)用方法后) teardown_method:每個用例結(jié)束后執(zhí)行(方法級) teardown_class:所有用例執(zhí)行之后(類級) ——teardown_module:整個.py模塊結(jié)束執(zhí)行一次【函數(shù)】============================== 4 passed in 0.04s ==============================Process finished with exit code 0

?

總結(jié)

以上是生活随笔為你收集整理的Python Pytest前置setup和后置teardown详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: h狠狠躁死你h高h | 男人和女人做爽爽视频 | www.youjizz.com日本 | 亚洲AV不卡无码一区二区三区 | 国产美女网 | 免费毛片看 | a成人在线 | 亚洲图片三区 | 欧美xxxxbbbb | 免费黄色一级视频 | 自拍偷在线精品自拍偷无码专区 | youjizz.com中国 | sm在线观看 | 99re这里只有精品在线 | 黄色大片在线播放 | 免费处女在线破视频 | 九九在线| 涩涩视频网址 | 99热国内精品 | 在线观看黄色小视频 | 亚洲黄色在线看 | 日韩第一页在线观看 | 美女露出让男生揉的视频 | 91av在线免费视频 | 午夜福利电影 | 国产成人免费av | 污片视频在线观看 | 少妇网站在线观看 | xxx日韩| 久久国产一| 欧美一区二区成人 | 校园春色中文字幕 | 男女做爰猛烈刺激 | 欧美精品一二三四区 | 欧美黑人巨大xxx极品 | www日韩精品 | 日韩在线观看视频免费 | 亚洲va在线 | 日日夜夜亚洲 | 天天综合天天添夜夜添狠狠添 | 在线免费观看高清视频 | 久久久久久激情 | 日韩免费不卡视频 | 亚洲自拍图片 | 欧美精品v国产精品v日韩精品 | 亚洲天堂免费视频 | 波多野结衣一二三四区 | 1024视频污 | 欧美色悠悠 | 精品一性一色一乱农村 | 久久精品国产99国产精品 | 丰满少妇中文字幕 | 国产精品理论片在线观看 | 国产成人三级一区二区在线观看一 | 精品无码人妻一区二区三区 | 男女国产视频 | 五月婷婷色综合 | 图书馆的女友在线观看 | 亚洲蜜桃视频 | 欧美一区日韩一区 | 久久av一区二区三区漫画 | 777免费视频| 天堂网av在线| 国产一级特黄a高潮片 | 轻轻草在线视频 | 九九人人 | 一进一出视频 | 成人久久av| www.国产高清 | 久久在线精品视频 | 你懂的亚洲 | 99在线播放| 无码任你躁久久久久久老妇 | 国产午夜福利在线播放 | 国产原创av在线 | 久久新 | 台湾少妇xxxx做受 | 99视频在线免费观看 | 国产精品老熟女视频一区二区 | 亚洲色图27p | 成人av一级 | 久久性av | 日韩中文字幕网 | 国产精品污 | 日本公妇乱淫免费视频一区三区 | 亚洲黄业 | 婷婷色婷婷开心五月四房播播 | 香蕉av在线播放 | 日韩av在线播放观看 | 少妇精品视频一区二区 | 2020国产在线 | 中日精品一色哟哟 | 婷婷av在线 | 韩国伦理在线 | 国产一区久久久 | 性欧美8khd高清极品 | 亚洲成人av在线播放 | 国产suv精品一区二区6 | 国产日韩欧美一二三区 |