Pytest測試框架

Pytest背景與優勢

  1. pytest能夠支持簡單的單元測試和複雜的功能測試;
  2. pytest可以結合Requests實現接口測試;結合Selenium、Appium實現自動化功能測試;
  3. 使用pytest結合Allure集成到Jenkins中可以實現持續集成;
  4. pytest支持315種以上的插件,擁有豐富的第三方插件,而且支持定製化插件開發;
  5. pytest兼容unittest。

Pytest安裝

方法一:pip install pytest或者pip install -U pytest

方法二:Pycharm直接安裝

Pytest命名規則

注意:測試類中不可以添加__init__構造函數

類型 規則
文件 test_開頭 或者 _test 結尾
Test 開頭
方法/函數 test_開頭

Pytest用例結構

由三部分構成:用例名稱、用例步驟、用例斷言

測試用例示例

def test_XXX(self):
    # 測試步驟1
    # 測試步驟2
    # 斷言  實際結果 對比 預期結果
    assert ActualResult == ExpectedResult

類級別的用例示例

class TestXXX:
    def setup(self):
        # 資源準備
        pass

    def teardown(self):
        # 資源銷燬
        pass

    def test_XXX(self):
        # 測試步驟1
        # 測試步驟2
        # 斷言  實際結果 對比 預期結果
        assert ActualResult == ExpectedResult

Pytest測試用例斷言

定義

斷言(assert):是一種在程序中的一階邏輯(如:一個結果爲真或假的邏輯式判斷),目的是表示與驗證軟件開發者預期的結果。
當程序執行到斷言的位置時,對應的斷言應該爲真。
若斷言不爲真時,程序會自動終止,並給出錯誤提示。

用法

assert <表達式 >
assert <表達式 >,<描述>

Pytest測試框架結構(setup/teardown)

測試裝置介紹

類型 規則
setup_module/teardown_module 全局模塊級
setup_class/teardown_class 類級,只在類中前後運行一次
setup_function/teardown_function 函數級,在類外
setup_method/teardown_method 方法級,類中的每個方法執行前後
setup/teardown 在類中,運行在調用方法的前後(重點)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章