unittest 基本原理

unittest 是 python 自带的测试框架
unittest 是 python 的标准测试库

四大组件

test case:测试用例,方法命名基于 test_开头,测试用例自行排序执行,排序规则 A-Z,a-z,0-9
test fixture:设置前置条件 (setup),后置条件 (teardown),每个测试用例方法执行前后都要执行这两个方法
test suite:测试套件,批量执行用例集,套件运行需要结合运行器 (htmltestrunner/texttestrunner)
test runner:运行器,通过 runner 的 run 方法去调用执行测试用例集

unittest 语法规则

用 import unittest 导入 unittest 模块
定义一个继承自 unittest.TestCase 的测试用例类,如 class xxx(unittest.TestCase)
即如果定义了则会在每个测试 case 执行前先执行 setUp 方法,执行完毕后执行 tearDown 方法。
用例必须名必须以 test 开头,否则 unittest 不能识别
成功是 .失败是 F,出错是 E
一个测试用例应该只测试一个方面,测试目的和测试内容应很明确。主要是调用 assertEqual、assertRaises 等断言方法判断程序执行结果和预期值是否相符
调用 unittest.main() 启动测试

# -*- coding: utf-8 -*-
# @Author : 微信公众号:程序员一凡

import unittest

class TestHC(unittest.TestCase):

    def test01(self):
        print("用例1")

    def test02(self):
        print("用例2")

    def add(self):
        # 当前用例不会被执行
        print("用例3")

if __name__ == '__main__':
    unittest.main()

# 运行结果
..
Ran 2 tests in 0.000s
OK
用例1
用例2

unittest 常用断言方法


↙↙↙阅读原文可查看相关链接,并与作者交流