废话不多说,具体如下:

一、什么是unittest?
unittest模块是python自带的一个单元测试模块,我们可以用来做单元测试。unittest模板包含了如下几个子模块:

  • 测试用例:TestCase
  • 测试集:TestSuit
  • 加载用例:TestLoader
  • 执行用例:TextTestRunner

这四个都是unittest模块中的类,整个单元测试的工作模块,就是这几大类。

二、了解了什么是unittest,来编写自己的第一个测试类

eg:

编写一个数学方法类,类里面有加法以及减法两个函数。代码如下所示:

unit test 测试异常 test for the unit_接口

class MathMethod:
    def __init__(self, a, b):
        self.a = a
        self.b = b
        
    def add(self):
        return self.a + self.b

    def sub(self):
        return self.a - self.b

编写了类,就需要对类里面的函数去编写测试用例,来测试自己的代码是否正确,比如,就针对加法来编写测试用例,来测函数是否正常运行,针对加法我们可以从测试角度出发,设计几条用例如下所示:

  • 两个正数相加
  • 两个负数相加
  • 一正一负相加
  • 正数与零相加
  • 小数点相加

接下来就利用unittest中的TestCase类来编写测试用例了,在正式开始编写测试用例之前,补充一些关于TestCase类以及类函数的用法。

  • 要引用TestCase,我们需要引入unittest模块
  • 我们引用TestCase是编写一个测试类,所以要新建一个类
  • 上面写的5条用例,需要转换成代码,也就是这个测试类里面的函数,函数名都是以test_开头,这样unittest就能识别用到用例,并执行

新建一个test_math_method模块,编写测试用例示范代码如下所示:

# 在写代码之前记得要引入unittest模块以及MathMethod模块
import unittest
from python_unittest import MathMethod

class TestMathMethod(unittest.TestCase):
    def test_two_positive(self):
        MathMethod(1, 2).add()

    def test_two_negative(self):
        MathMethod(-1, -2).add()

    def test_positive_negative(self):
        MathMethod(1, -2).add()

    def test_zero_positive(self):
        MathMethod(0, 1).add()

    def test_two_float(self):
        MathMethod(0.1, 0.3).add()

# 编写测试用例在main函数下面
if __name__ == '__main__':
    unittest.main()

运行代码之后,结果如下所示:

unit test 测试异常 test for the unit_单元测试_02


一共执行了5条用例,且用例都通过了。这就是最简单的编写的测试类,但是写成这样肯定是不够的,我们还需要继续优化,继续去添砖加瓦,让我们的单元测试更加专业。