python单元测试如何写
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,今天小编给大家分享一下python单元测试如何写的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了
千家信息网最后更新 2025年01月19日python单元测试如何写
今天小编给大家分享一下python单元测试如何写的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
unittest引入
unittest框架现在已经被python官方"收编",unittest作为python标准包支持的库,在使用时只需要直接引入即可,不需要使用pip
进行安装。
如何写单元测试代码
单元测试代码可以简单的分成三步,分别为Given,When,Then。Given代表初始状态或者前置条件(可以简单的理解为数据输入);When代表行为发生,也就是进行测试动作;Then则是断言结果。
所以大部分情况下我们可以把单元测试的代码分为三块:
第一块代码负责测试前的数据处理,比如输入数据等。
第二块代码负责调用相关的功能模块进行测试。
第三块代码负责将测试的结果与我们期待的结果进行比对,从而得出测试结果(通过或者失败)。
代码实战
以一个简单的计算功能为例,以下是这个计算模块的方法(文件名为calculator.py):
def add(a, b): return a+bdef substract(a, b): return a-b
我们设计了一些简单的测试代码(代码解读详见注释):
from calculator import * # 导入目标模块
import unittest # 导入unittest包
class TestCount(unittest.TestCase):
# 测试代码写在一个测试类里面
def test_add(self):
# 我们要测的是一个add函数,他传入两个参数
x = 5
y = 6
# 输入测试数据
res = add(x, y) # 将数据传递给被测函数,然后将结果存在res中
self.assertEqual(res, 11) # 使用断言判断res的值是否等于期待的值(这里期待为11)
# 如果res的值等于期待的值,则测试通过,反之测试失败
def test_substract(self):
# 这是另一个测试代码,使用简写的方式将第一二步合在一起
res = substract(11, 6)
self.assertEqual(res, 5)
以上代码只是用来介绍如何使用unittest,测试用例设计得比较随意。实际上测试用例设计需要考虑很多,要通过测试用例来证明目标代码的功能健全,所以对于一个简单的相加函数而言,这样的测试用例略显简单了。详细的测试用例设计小编以后会继续分享,关注W3C技术头条,学习如何编写更好的测试用例!
python作为一种代码易于理解的语言,实际上单元测试只在比较正规和大型的项目上会比较常见,unittest的更常见用法是与selenium集成为一个测试框架,由unittest提供比较好的用例管理和断言,由selenium进行功能测试。这时候unittest已经不算是单元测试工具了(是用例管理工具)。
以上就是"python单元测试如何写"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
测试
代码
单元
结果
功能
数据
知识
篇文章
设计
函数
模块
输入
代表
内容
大部分
实际
实际上
工具
常见
框架
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
山东软件开发网站推荐
计算机网络技术就业难
速航软件开发
什么学历可以从事软件开发
新疆汇通互联网科技有限公司
如何与主机服务器通信
计算机网络技术当火箭军用得上吗
如何设计好的数据库
金山区海航软件开发市场价格
软件开发与运营方案
网络游戏服务器怎么样
衡水银行app提示服务器
网络安全对策文献
江西红色文化馆软件开发
c语言连接mysql数据库
ice 访问数据库
网络安全考试试题试卷7
网络安全法+全国人大审议
如何同时查询两个数据库的数据
南京ktv服务器回收价格
课程表用数据库创建
学软件开发还用学平面设计
专业机房与服务器设计
我国软件开发发展概况
共建筑牢网络安全防线
工业软件开发用什么编程语言
服务器操作系统和工作站操作系统
大学招聘网络技术专业
ice 访问数据库
嵌入式软件开发区小吃街郑州