《基于Python的全栈自动化测试》之unittest.TestCase(一)--- 创建测试类,编写测试用例

准备:

首先创建个math.py文件,然后在模块中写个简单的类和方法,作为被测试的对象:

# 单元测试练习


class Math():
    """数学类"""
    def __init__(self, a, b):  # 初始化
        self.a = a
        self.b = b

    def add(self):  # 加法
        result = self.a + self.b
        return result

    def sub(self):  # 减法
        result = self.a - self.b
        return result

    def multiply(self):  # 乘法
        result = self.a * self.b
        return result

    def divide(self):  # 除法  注意:b传参不要为0
        result = self.a / self.b
        return result

基础知识:

    单元测试(unit test),是指对软件中的最小可测试单元进行检查和验证。单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动。单元测试一般是由程序员自己来完成,简单来说,为自己写的代码编写测试代码,来验证代码的执行结果是否符合预期结果。

    下面开始初步了解和学习单元测试:

要为代码编写单元测试,首先要再创建个测试模块,一般取名要见名知意,比如我们要测试 Math() 这个类,那我们的要创建个test_matn.py文件,创建个 TestMath 测试类,用来测试Matn()类,然后需要导入 unittest 和被测试对象:

unittest 是Python 自带的单元测试框架,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作。

还有可以看到我们的TestMath类继承了 unittest.TestCase 这个父类,TestCase是 unittest 中专门用来写测试用例的类,可以包含初始化数据,清除参数,断言等方法。

import unittest
from class_13.math import Math

class TestMath(unittest.TestCase):
    pass

然后在测试类里写测试用例 (TestCase),TestCase 必须使用 test_ 开头,否则 unittest 无法识别,也要见名知意,能一眼看出你要测试什么东西: 这里面每一个函数就是一条Case ↓↓↓

import unittest
from class_13.math import Math

class TestMath(unittest.TestCase):
    """Math的测试类"""
    def test_add(self):  # 测试加法
        pass

    def test_sub(self):  # 测试减法
        pass

    def test_multiply(self):  # 测试乘法
        pass

    def test_divide(self):  # 测试除法
        pass

我们为每个数学方法写了一条Case,一般一个方法是对应多条Case ,这里写简单点。TestCase 里现在都是空代码块,如何去填充?

    测试,简单点来说就是看实际结果和预期结果是否一致,这里就要用到断言了,改天再继续写...

END!!!

发布了44 篇原创文章 · 获赞 23 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/waitan2018/article/details/85346621