Pytest系列 -pytest-dependency 用例依賴


前言

  • 這是一個pytest第三方插件,主要解決用例之間的依賴關系。如果依賴的上下文失敗后續的用例會被標識為跳過執行,相當於執行了pytest.mark.skip
  • dependency可作用的范圍有:sessionpackagemoduleclass
  • 安裝pip install pytest-dependency
  • 官方示例:pytest-dependency

基本用法

  • 下面的實現方式是簡單的實現,高級用法可以查看官方文檔
  • 以下方式是在TestCase類下面編寫的用例
  • 首先我們需要在用例開始的位置打上一個裝飾器@pytest.mark.dependency(),這是代表這條用例作為主條件,如果這條用例失敗,關聯它的用例會跳過執行。
  • 在被關聯的用例上,也打上帶參數的裝飾器@pytest.mark.dependency()depends接受的參數是關聯的依賴用例名。
  • depends也可以用別名的方式指定用例名。

Test類下實現方式


函數下實現方式

通過別名指定方式

定義依賴范圍

官方api詳解

我們可以看到scope可接受四種參數定義的類型('session','package','module'或'class')

scope='class'

  • 作用於所屬的類,外部類不會被關聯

scope='module'

  • 不傳遞scope,默認參數是'module',作用於當前文件
  • 只會查找當前文件的符合條件的文件名,類里同名的方法不會被依賴


scope='package'

  • 作用於當前目錄同級的依賴函數,跨目錄無法找到依賴的函數。


scope='session'

  • 作用域全局,可跨目錄調用。但被依賴的用例必須先執行,如例子中的test01,否則用例會執行跳過!!!!



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM