随笔 - 61,  文章 - 1,  评论 - 0,  阅读 - 58378

python单元测试框架unittest学习笔记一--基本概念

 

一、unittest框架基本原理介绍

unittest是受Junit启发编写的一款python语言的单元测试框架,并与其他语言中的主流单元测试框架有相似的风格。unittest支持自动化测试,测试准备和测试清理部分代码复用,支持测试用例聚合成测试套件,并与报告生成框架相互独立

二、为什么要使用unnitest框架来做单元测试

1、能够组织多个测试用例执行

2、提供丰富的断言方法

3、能够生成测试报告

三、unnittest框架的核心要素

1、testcase:测试用例

一个测试用例是一个独立的测试单元。它检查输入特定的数据时的相应。unittest提供一个基类:TestCase,用于新建测试用例。

2、TestSuite:测试套件

test suite是多个测试用例组合在一起,或称测试套件,并且testsuite可以嵌套testsuite。它用于归档需要一起执行的测试

3、testloader:加载组件

将指定路径下的测试用例py文件加载到testsuite中

4、test runner:测试运行器

testrunner是一个用于执行和输出测试结果的组件。只用来执行测试用例的,其中run(test)会执行testsuite/testcase中的run(result)方法。

这个运行器可能使用图形接口、文本接口,或返回一个特定的值表示运行测试的结果

5、test fixture:测试脚手架

testfixture 表示为了开展一项或多项测试所需要进行的准备工作,以及所有相关的清理工作。举个例子:这可能包含创建临时或者代理数据库、

目录,再或者启动一个服务器进程等等

四、基本示例

创建一个测试用例执行类并执行测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"""unitest的语法规则:
用import unitest导入unitest模块
定义一个集成unittest.TestCase的测试用例类,如class XXX(unitest.TestCase)
即如果定义了则会在每个测试case执行前先执行setup方法,执行完毕后执行teardown方法
用例名 必须以test开头,否则unitest不能识别
一个测试用例应该只测试一个方面,测试的目的和测试内容应该很明确,主要是调用seertEqual\assertRaises等断言方法来
判断程序执行结果和预期值是否相符合
调用unnitest.main()启动测试
"""
import unittest
 
def sum(a,b):
    return a+b
 
 
class test01(unittest.TestCase):
    def test_01(self):
        print("in function test 01")
 
    def test_02(self):
        print("in function test 02")
 
    def test_03(self):
        print(sum(1,8))
 
    def test_04(self):
        print(sum(6,9))
 
    def test_05(self):
        print(sum("aaa",9))
 
 
if __name__ == '__main__':
    unittest.main()

  

posted on   天外来客I  阅读(113)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示