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:一条运行跳过的测试用例

相关文章
相关标签/搜索