1. 程式人生 > 其它 >『心善淵』Selenium3.0基礎 — 27、unittest跳過測試的使用

『心善淵』Selenium3.0基礎 — 27、unittest跳過測試的使用

目錄

1、什麼是跳過測試

當測試用例寫完後,有些模組有改動時候,會影響到部分用例的執行,這個時候我們希望暫時跳過這些用例。或者前面某個功能執行失敗了,後面的幾個用例是依賴於這個功能的用例,如果第一步就失敗了,後面的用例也就沒必要去執行了,為了節省用例執行時間,可選擇直接跳過測試。

2、常用的跳過測試方法和裝飾器

當執行有想要跳過的測試,我們可以通過skipskipIfskipUnless裝飾器跳過某個測試方法或者測試類。

  1. @unittest.skip(reason)skip(reason)
    裝飾器,無條件跳過裝飾的測試,並說明跳過測試的原因。
  2. @unittest.skipIf(reason)skipIf(condition,reason)裝飾器,條件為真時,跳過裝飾的測試,並說明跳過測試的原因。
  3. @unittest.skipUnless(reason)skipUnless(condition,reason)裝飾器,條件為假時,跳過裝飾的測試,並說明跳過測試的原因。
  4. @unittest.expectedFailure:測試標記為失敗。

3、跳過測試示例

"""
1.學習目標
    瞭解unittest中跳過測試方法使用
2.語法
    2.1 放置在需要跳過的測試用例之前
        @跳過測試方法
        測試用例
    2.2 分類
        @unittest.skip(跳過原因):表示無條件跳過執行
        @unittest.skipIf(判斷條件,跳過原因): 當判斷條件為真時,跳過測試
        @unittest.skipUnless(判斷條件,跳過原因):當判斷條件為假時,跳過測試
        @unittest.expectedFailure:  直接將用例標記為失敗
3.需求
    編寫測試類,使用跳過測試
"""
# 1 匯入unittest
import unittest


# 2 建立測試類
class Test_demo(unittest.TestCase):

    # 3 編寫test case
    # 第一條測試用例正常執行
    def test_case_01(self):
        """測試用例1"""
        print("執行測試用例1")

    # 新增skip,不執行測試
    @unittest.skip("無條件跳過")
    def test_case_02(self):
        """測試用例2"""
        print("執行測試用例2")

    # 新增skipif,條件為真跳過測試
    @unittest.skipIf(True, "條件為真,跳過測試")
    def test_case_03(self):
        """測試用例3"""
        print("執行測試用例3")

    # 新增skipIf,條件為假執行測試
    @unittest.skipIf(2 > 3, "條件為假,執行用例")
    def test_case_04(self):
        """測試用例4"""
        print("執行測試用例4")

    # 新增skipUnless,條件為假不執行測試
    @unittest.skipUnless(False, "條件為假,跳過測試")
    def test_case_05(self):
        """測試用例5"""
        print("執行測試用例5")

    # 新增skipUnless,條件為真執行測試
    @unittest.skipUnless(True, "條件為真,執行用例")
    def test_case_06(self):
        """測試用例6"""
        print("執行測試用例6")

    # 新增expectedFailure,直接將用例標記為失敗
    @unittest.expectedFailure
    def test_case_07(self):
        """測試用例7"""
        print("執行測試用例7")

    def test_case_08(self):
        """測試用例8"""
        print("執行測試用例8")

if __name__ == '__main__':
    # 執行當前測試類中,以test開頭的測試用例
    unittest.main()

執行結果

4、TestCase.skipTest()方法

TestCase.skipTest()方法跳過某個測試方法(瞭解)。

示例

# 1 匯入unittest
import unittest


# 2 建立測試類
class TestDmeo(unittest.TestCase):

    # 3 編寫test case
    def test_case_01(self):
        """測試用例1"""
        print("執行測試用例1")

    # TestCase.skipTest()方法
    def test_case_02(self):
        """測試用例2"""
        # 跳過測試方法
        self.skipTest('跳過用例test_case2')
        print("執行測試用例2")


if __name__ == '__main__':
    # 執行當前測試類中,以test開頭的測試用例
    unittest.main()

執行結果