1. 建立訂單之前,需要先新增購物車
2. 在執行訂單介面用例之前,要保證新增購物車介面用例完成,並且是pass
3. 在外掛程式列表中找到,dependency名字,該外掛程式管理測試用例依賴關係
英文好的可以直接看官方文件:
1. 單獨執行訂單介面(test_order),**如下
import pytest
def test_cart():
print("新增到購物車")
def test_order():
print("建立訂單")
2. 我們的目的是要增加依賴
3. 可以使用安裝的外掛程式dependency來實現,**如下
@pytest.mark.dependency()
def test_cart():
print("新增到購物車")
@pytest.mark.dependency(depends=["test_cart"])
def test_order():
print("建立訂單")
**解釋:
* 只需要在測試用例增加@pytest.mark.dependency() 標識即可,這裡面要注意,假如是order依賴cart,故在order的用例上,需要增加引數depends,depends對應測試用例的名稱,這裡要注意,如果要執行用例必須按pytest的預設執行規則,即用例前要加上test_,而且順序要注意,要先執行test_cart在執行test_order,如果要先執行test_order,檢視依賴時發現test_cart這個用例沒有執行認為結果不通過,所以就不會執行,結果會顯示skip
4. 來,我們執行一下,看下結果
**:只是調換了用例的順序,執行順序:test_order -> test_cart
@pytest.mark.dependency(depends=["cart"],scope="module")
def test_order():
print("建立訂單")
@pytest.mark.dependency(name='cart')
def test_cart():
print("新增到購物車")
結果,會發現test_order是skipped,忽略掉了未執行:
print("新增到購物車")
assert false
@pytest.mark.dependency(depends=["cart"])
def test_order():
print("建立訂單")
結果,乙個失敗,乙個忽略未執行
pytest用例依賴
在實際使用pytest編寫測試用例指令碼時,會需要用到兩個或多個測試用例依賴執行,就比如登入的時候我們需要先註冊,那登入的用例就需要依賴註冊的用例。我們想要登入條件很簡單可直接通過pytest.mark.skip裝飾器完成。但是想要判斷註冊用例是否通過,根據是否通過執行登入的用例就要將兩個用例之間建...
pytest之解決用例依賴
pytest中用例之間的順序預設是按檔名ascll碼排序,檔案內的用例預設是按照從上往下順序執行。要改變用例的執行順序,可以安裝第三方外掛程式pytest ordering實現自定義用例順序,由此可以解決用例的依賴問題。命令如下 pip install pytest ordering按數字排序用法如...
Pytest 執行用例
pytest 不止可以執行自己的用例,也可以執行 unittest 寫的用例。pytest 有很多執行時引數,用於指定執行的用例 執行結果展示 外掛程式引數等。pytest 有兩種執行方式 命令列通過 pytest 命令執行 pytest 引數 引數值 中使用pytest.main 引數1 引數值1...