欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)激活碼778899分享:pytest常用鉤子函數(shù)

柚子快報(bào)激活碼778899分享:pytest常用鉤子函數(shù)

http://yzkb.51969.com/

1、什么叫鉤子函數(shù)

在Pytest框架中,鉤子函數(shù)是一種允許用戶擴(kuò)展或者自定義測試執(zhí)行過程的機(jī)制。鉤子函數(shù)允許用戶在測試的不同階段插入自定義的代碼,以實(shí)現(xiàn)特定的行為,操作或處理。這種插入式的機(jī)制使得Pytest具有高度的靈活性和擴(kuò)展性。

如下圖:

Pytest的鉤子函數(shù)遵循一定的命名規(guī)則,通常以"pytest"為前綴, 這些鉤子函數(shù)可以通過編寫對(duì)應(yīng)的函數(shù)并將其放在 conftest.py 文件中來實(shí)現(xiàn)。

pytest 中的鉤子函數(shù)按功能一共分為 6 類:引導(dǎo)鉤子,初始化鉤子、用例收集鉤子、用例執(zhí)行鉤子、報(bào)告鉤子、調(diào)試鉤子。

2、常用的鉤子函數(shù)

1、pytest_addoption(parser): 當(dāng) pytest 命令行解析器被創(chuàng)建時(shí),pytest 將調(diào)用這個(gè)函數(shù),它將接受一個(gè) parser 參數(shù),可以通過它向解析器中添加自定義的命令行選項(xiàng)。

2、pytest_configure(config): 當(dāng) pytest 執(zhí)行前首次讀取配置文件時(shí)調(diào)用,通常在這里可以對(duì)配置進(jìn)行修改。

3、pytest_unconfigure(config): 在 pytest 執(zhí)行完成并退出時(shí)調(diào)用。

4、pytest_generate_tests(metafunc): 當(dāng)pytest生成測試時(shí),pytest將調(diào)用此函數(shù)。這是一個(gè)非常有用的函數(shù),它可以幫助你動(dòng)態(tài)生成測試。

5、pytest_collection_modifyitems(session, config, items): 這個(gè)鉤子函數(shù)可以修改 pytest 的測試收集結(jié)果。你可以通過它添加、刪除或者修改 pytest 收集的測試。

6、pytest_runtest_setup(item): 在 pytest 執(zhí)行測試用例的 setup 階段時(shí)調(diào)用。可以在這里添加自定義的 setup 邏輯。

7、pytest_runtest_call(item): 當(dāng)測試用例被執(zhí)行時(shí),pytest 將調(diào)用此函數(shù)。在這個(gè)鉤子函數(shù)中可以添加自定義的邏輯

8、pytest_runtest_teardown(item): 在 pytest 執(zhí)行測試用例的 teardown 階段時(shí)調(diào)用??梢栽谶@里添加自定義的 teardown 邏輯。

9、pytest_runtest_makereport(item, call): 它在測試用例執(zhí)行完畢并生成測試報(bào)告時(shí)觸發(fā),可以在此處對(duì)測試結(jié)果進(jìn)行處理,通過實(shí)現(xiàn)該鉤子函數(shù)來對(duì)測試報(bào)告進(jìn)行定制化的處理,例如記錄測試用例的執(zhí)行結(jié)果、截圖等。

10、pytest_sessionstart(session): 在測試套件開始執(zhí)行前調(diào)用(也就是pytest進(jìn)程啟動(dòng)后,會(huì)調(diào)用此鉤子函數(shù)),可以在此處完成一些初始化操作。

11、pytest_sessionfinish(session, exitstatus): 在測試套件執(zhí)行結(jié)束后調(diào)用(也就是pytest進(jìn)程結(jié)束前,會(huì)調(diào)用此鉤子函數(shù),),可以在此鉤子函數(shù)中執(zhí)行清理操作或收集報(bào)告等。。

12、pytest_terminal_summary(terminalreporter): 在 pytest 執(zhí)行完成后調(diào)用,它將整個(gè)測試結(jié)果的總結(jié)輸出到終端上。

13、pytest_collection_finish(session): 當(dāng) pytest 集合測試結(jié)束時(shí)調(diào)用,可以在此處對(duì)測試用例進(jìn)行篩選。

14、pytest_collection_modifyitems(session, config, items): 當(dāng)測試用例收集完成后,會(huì)調(diào)用此鉤子函數(shù),可以通過此鉤子函數(shù)修改、重排序測試用例。

? ?? ? ?? ? ? 這些鉤子函數(shù)可以通過編寫對(duì)應(yīng)的函數(shù)并將其放在 conftest.py 文件中來實(shí)現(xiàn)。例如,如果想要在測試完成后發(fā)送一封郵件,可以在 conftest.py 文件中編寫一個(gè)名為 pytest_sessionfinish 的函數(shù),并在其中調(diào)用發(fā)送郵件的代碼。

# conftest.py

def pytest_sessionfinish(session, exitstatus):

# 根據(jù)測試結(jié)果執(zhí)行不同的操作

if exitstatus == 0:

# 測試通過時(shí)記錄日志

log_message = "測試通過,所有測試用例執(zhí)行成功。"

else:

# 測試失敗時(shí)記錄日志

log_message = "測試失敗,部分或全部測試用例執(zhí)行失敗。"

# 記錄日志

send_email(log_message)

# 模擬發(fā)送郵件的函數(shù)

def send_email(content):

print(f"發(fā)送郵件:{content}")

柚子快報(bào)激活碼778899分享:pytest常用鉤子函數(shù)

http://yzkb.51969.com/

精彩文章

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18923332.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄