测试开发全栈之Python自动化 Unittest 原理及基础规则介绍
程序员一凡
·
2021年02月19日
·
1596 次阅读
「原创声明:保留所有权利,禁止转载」
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 常用断言方法
TesterHome 为用户提供「保留所有权利,禁止转载」的选项。
除非获得原作者的单独授权,任何第三方不得转载标注了「原创声明:保留所有权利,禁止转载」的内容,否则均视为侵权。
具体请参见TesterHome 知识产权保护协议。
暂无回复。