unittest 編寫測試用例格式---(蟲師《selenium3自動化測試實戰--基於Python語言筆記29》)

例如:以加減乘除法爲例:算法

方法爲:calculator.py框架

# 加減乘除算法


class Calculator: def __init__(self, x, y): self.x = int(x) self.y = int(y) # 加法
    def add(self): return self.x + self.y # 減法
    def sub(self): return self.x - self.y # 乘法
    def mul(self): return self.x * self.y # 除法
    def div(self): return self.x / self.y

編寫測試用例爲:test_calculator.py函數

from unittest1.calculator import Calculator def test_add(): c = Calculator(3, 5) result = c.add() assert result == 8, '加法運算失敗!'


def test_sub(): c = Calculator(7, 2) result = c.sub() assert result == 5, '減法運算失敗!'


def test_mul(): c = Calculator(5, 9) result = c.mul() assert result == 45, '乘法運算失敗!'


def test_div(): c = Calculator(9, 3) result = c.div() assert result == 3, '除法運算失敗'


if __name__ == '__main__': test_add() test_sub() test_mul() test_div()

運行結果爲:單元測試

 

侷限性:當前面的測試函數運行失敗後,後面的測試函數再也不執行,致使執行結果沒法統計測試

用unittest單元測試框架從新編寫測試用例:spa

(1)建立一個測試類,必須繼承unnittest模塊的TestCase類3d

(2)建立一個測試方法,必須以"test"開頭code

(3)調用被測試類,傳入初始化數據blog

(4)調用被測試方法,獲得計算結果。用assertEqual()斷言是否與預期結果相同。繼承

(5)調用unnitest的main()執行測試用例

上面例子,用unnittest編寫測試用例以下:

import unittest from unittest1.calculator import Calculator class TestCalculator(unittest.TestCase): def test_add(self): c = Calculator(3, 5) result = c.add() self.assertEqual(result, 8) def test_sub(self): c = Calculator(5, 6) result = c.sub() self.assertEqual(result, -1) def test_mul(self): c = Calculator(5, 6) result = c.mul() self.assertEqual(result, 30) def test_div(self): c = Calculator(9, 3) result = c.div() self.assertEqual(result,3) if __name__ == '__main__': unittest.main()

運行結果 :

 

 

.:一條運行經過的測試用例

F:一條運行失敗的測試用例

E:一條運行錯誤的測試用例

s:一條運行跳過的測試用例

相關文章
相關標籤/搜索