pytest系列——Hook函數的使用

2021-12-12 迅捷小莫

pytest_collectstart(collector: Collector) 收集器開始收集。

pytest_make_collect_report(collector: Collector) 執行collector.collect()並返回一個CollectReport。

pytest_itemcollected(item: Item) 我們剛剛收集了一個測試項目。

pytest_collectreport(report: CollectReport) 收集器完成收集。

pytest_deselected(items: Sequence[Item]) 要求取消選擇的測試項目,例如按關鍵字。

pytest_report_header(config: Config, startdir: py._path.local.LocalPath) 返回要顯示為標題信息的字符串或字符串列表,以進行終端報告。

pytest_report_collectionfinish(config: Config, startdir: py._path.local.LocalPath, items: Sequence[Item]) 返回成功完成收集後將顯示的字符串或字符串列表。

pytest_report_teststatus(report: Union[CollectReport, TestReport], config: Config) 返回結果類別,簡寫形式和詳細詞以進行狀態報告。

pytest_terminal_summary(terminalreporter: TerminalReporter, exitstatus: ExitCode, config: Config) 在終端摘要報告中添加一個部分。

pytest_fixture_setup(fixturedef: FixtureDef[Any], request: SubRequest) 執行夾具設置執行。

pytest_fixture_post_finalizer(fixturedef: FixtureDef[Any], request: SubRequest) 在夾具拆除之後但在清除緩存之前調用,因此夾具結果fixturedef.cached_result仍然可用(不是 None)

pytest_warning_captured(warning_message: warnings.WarningMessage, when: Literal[『config』, 『collect』, 『runtest』], item: Optional[Item], location: Optional[Tuple[str, int, str]]) (已棄用)處理內部pytest警告插件捕獲的警告。

pytest_warning_recorded(warning_message: warnings.WarningMessage, when: Literal[『config』, 『collect』, 『runtest』], nodeid: str, location: Optional[Tuple[str, int, str]]) 處理內部pytest警告插件捕獲的警告。

pytest_runtest_logreport(report: TestReport) 處理項目的_pytest.reports.TestReport每個設置,調用和拆卸運行測試階段產生的結果。

pytest_assertrepr_compare(config: Config, op: str, left: object, right: object) 返回失敗斷言表達式中的比較的說明。

pytest_assertion_pass(item: Item, lineno: int, orig: str, expl: str) (實驗性的)在斷言通過時調用。

相關焦點

  • Pytest進階:Hook函數的使用技巧
    pytest_exception_interact(node: Union[Item, Collector], call: CallInfo[Any], report: Union[CollectReport, TestReport]) 在引發可能可以交互處理的異常時調用。
  • pytest hook - 我的用例我做主
    pytest除了強大的用例發現、收集、執行和報告輸出之外,還提供了豐富的函數hook可以自定義插件或者框架行為,只需在項目目錄/conftest.py文件中實現對應hook名稱的函數,即可完成hook函數的註冊。
  • Pytest測試框架系列 - 自動化測試中用例執行失敗後自動提交缺陷!
    基本使用根據源碼及使用方式,我們先嘗試使用一下: conftest.py# !import hookimpl@hookimpl(hookwrapper=True)def pytest_runtest_makereport(item, call): out = yield report = out.get_result() print("當前有哪些方法", report.
  • Python測試框架pytest
    官方網址:http://pytest.org/GitHub網址:https://github.com/pytest-dev/pytest1、在命令行中運行以下命令進行安裝:或者(使用國內的豆瓣源,數據會定期同步國外官網,速度快。)
  • 人人都能看懂的 Pytest 簡易上手指南!
    pytest是一個單元測試框架,可以幫助寫出更優質的程序。flask, werkzeug,gunicorn 等項目中都使用它,本文一起學習如何使用pytest這個測試框架。===================== 1 failed in 0.04s ===========================================================================================================如果還沒有安裝pytest,可以使用 pip install pytest 安裝。
  • python單元測試框架pytest的使用示例
    b、執行函數的前置條件c、執行函數的後置條件d、執行類的後置條件使用也非常簡單,當時函數的命名一定要和我下面的備註保持完全一致1、函數式的案例--函數級別的前置條件&後置條件import osimport pytest def func(x): return x +
  • 高效測試必學 | 用pytest生成測試報告!
    https://github.com/pytest-dev/pytest-html與安裝python第三方庫一樣使用pip命令->pip install pytest-html,我這邊是已經安裝好了的,所以你看到的輸出信息可能和我的不太一樣。使用pip list 可以查看是否有pytest-html,如果有表示已經安裝成功。
  • Python測試框架之pytest(一)
    在單測文件中,測試類以Test開頭,並且不能帶有 init 方法(注意:定義class時,需要以T開頭,不然pytest是不會去運行該class的)在單測類中,可以包含一個或多個test_開頭的函數。此時,在執行pytest命令時,會自動從當前目錄及子目錄中尋找符合上述約束的測試函數來執行。
  • Pytest丨如何使用全功能的Python測試框架?小白必看
    當然在我們這麼強大的pytest框架中,斷言也是比較強大的。為什麼?繼續往下看。pytest斷言前面說到pytest的斷言比較強大,它直接可以使用python自帶的斷言內容,當然不止而已,pytest還有一個重要的功能是可以重寫assert關鍵字,pytest會截斷對python中自帶的assert的調用然後替換成自己定位的assert,從而可以獲取更多的錯誤信息,讓我們知道具體哪裡出現了問題
  • 如何使用useReducer Hook
    如果不熟悉,「reducer」大概是一個帶有2個值並返回1個值的函數這麼個意思。如果你有一系列的東西,並且想將這些東西組合成一個單獨的物體。「函數式編程」中就是使用Array的reduce函數。儘管 useReducer 是擴展的 hook, 而 useState 是基本的 hook,但 useState 實際上執行的也是一個 useReducer。這意味著 useReducer 是更原生的,你能在任何使用 useState 的地方都替換成使用 useReducer。
  • 5 分鐘快速上手 pytest 測試框架
    ,讓 pytest 在測試時會根據 mark 的功能對我們的函數進行相應的操作。比如我針對 Python 3.3 版本寫了一個兼容性的函數,add(),但當版本大於 Python 3.3 時使用必然會出現問題。因此為了適應這種情況 pytest 就提供了 mark.skip 和 mark.skipif 兩個標記,當然後者用的更多一些。
  • 如何安全的Post-Hook一個函數
    For details on pre-hooks, see 如何安全的Hook一個函數.  For more information on the actual hooking of functions, see 如何Hook一個函數.
  • python pytest接口自動化框架搭建
    在單測文件中,可以包含test_開頭的函數,也可以包含Test開頭的類。在單測類中,可以包含一個或多個test_開頭的函數。此時,在執行pytest命令時,會自動從當前目錄及子目錄中尋找符合上述約束的測試函數來執行。
  • Pytest的基本應用(一)
    測試框架,unittest測試框架是內置的模塊,安裝完Python的解釋器後,就可以直接導入使用,但是使用它的時候必須是繼承TestCase類,才可以調用裡面的方法,但是缺陷也是很明顯的,它只能應用於面向對象的編程方式,無法應用於函數式的編程方式,Python語言它的優勢的是可以是面向對象的編程方式,也可以是函數式的編程方式。
  • react中關於hook介紹及其使用
    在這篇博客中主要從以下的幾個點進行介紹:hook簡介hook中常用api的使用hook在使用過程中需要去注意的地方hook中怎樣去實現class組件中的聲明周期函數簡單來說就是可以使用函數組件去使用react中的一些特性所要解決的問題:解決組件之間復用狀態邏輯很難得問題,hook能解決的就是在你無需修改之前組件結構的情況下復用狀態邏輯,在不使用hook的情況下,需要使用到一些高級的用法如高級組件、provider、customer等,這種方式對於新手來說不太友好
  • Python 測試框架unittest和pytest的優劣
    本次示例中使用的為python2.7。二、PytestPytest是Python的另一個第三方單元測試庫。它的目的是讓單元測試變得更容易,並且也能擴展到支持應用層面複雜的功能測試。pytest的特性有:支持用簡單的assert語句實現豐富的斷言,無需複雜的self.assert*函數自動識別測試模塊和測試函數模塊化夾具用以管理各類測試資源對 unittest 完全兼容,對 nose基本兼容支持Python3和PyPy3豐富的插件生態,已有300多個各式各樣的插件,社區繁榮
  • Python測試框架之pytest高級用法之fixture(三)
    搜索的類名 python_classes = Test*搜索的函數名 python_functions = test_*pytest之fixturefixture修飾器來標記固定的工廠函數,在其他函數,模塊,類或整個工程調用它時會被激活並優先執行,通常會被用於完成預置處理和重複操作。
  • pytest---setup和teardown簡單用法
    前言  使用過unittest的小夥伴們都知道,setup和teardown是用來處理用例的開始前工作和結束後的工作,其中還有setupclass和teardownclass是保證執行所以的用例都只執行1次前置和後置,使用起來非常方便,那麼學習pytest強大的測試框框,肯定也有這個功能,並且還比unittest的簡單不少。
  • HOOK工具原理系列之Xposed
    原創文章,轉載請標明出處https://www.cnblogs.com/boycelee/p/13418371.htmlHOOK工具原理系列之Xposed安卓系統啟動什麼zygote?安卓應用運行?10    }XposedBridge#hookMethod1、將回調函數、參數類型、返回類型記錄到AdditionalHookInfo中2、攔截指定函數調用,並使用其他函數替代(native函數) 1public static XC_MethodHook.Unhook hookMethod(Member hookMethod, XC_MethodHook
  • react-hook特性如何使用?
    自定義hook使用 Reducer Hook使用 Callback Hook使用 Memo Hook使用 useRef當前的 context 值由上層組件中距離當前組件最近的 <MyContext.Provider> 的 value prop 決定第五節:自定義hook通過自定義 Hook,可以將組件邏輯提取到可重用的函數中自定義 Hook 是一個函數,其名稱以