pytest 用例依賴
阿新 • • 發佈:2022-04-09
1、前言
- 這是一個pytest第三方外掛,主要解決用例之間的依賴關係。如果依賴的上下文失敗後續的用例會被標識為跳過執行,相當於執行了
pytest.mark.skip
- dependency可作用的範圍有:
session
、package
、module
、class
- 安裝pip install pytest-dependency
- 官方示例:pytest-dependency
2、基本用法
- 下面的實現方式是簡單的實現,高階用法可以檢視官方文件
- 以下方式是在TestCase類下面編寫的用例
- 首先我們需要在用例開始的位置打上一個裝飾器
@pytest.mark.dependency()
,這是代表這條用例作為主條件,如果這條用例失敗,關聯它的用例會跳過執行。 - 在被關聯的用例上,也打上帶引數的裝飾器
@pytest.mark.dependency()
,depends
接受的引數是關聯的依賴用例名。 - 在
depends
也可以用別名的方式指定用例名。
2|1Test類下實現方式
2|2函式下實現方式
2|3通過別名指定方式
3、定義依賴範圍
官方api詳解
我們可以看到scope可接受四種引數定義的型別('session','package','module'或'class')
scope='class'
- 作用於所屬的類,外部類不會被關聯
scope='module'
- 不傳遞scope,預設引數是'module',作用於當前檔案
- 只會查詢當前檔案的符合條件的檔名,類裡同名的方法不會被依賴
scope='package'
- 作用於當前目錄同級的依賴函式,跨目錄無法找到依賴的函式。
scope='session'
- 作用域全域性,可跨目錄呼叫。但被依賴的用例必須先執行,如例子中的test01,否則用例會執行跳過!!!!
原文連結:
https://www.cnblogs.com/se7enjean/p/13513131.html