首页 / 知识
python单元测试框架unittest
2023-11-12 13:36:00
unittest是python单元测试框架,又叫做PyUnit。
之所以称为框架是它代替开发人员完成了一些调用、IO等与单元测试无直接关系的支撑代码,让开发人员可以专注与测试用例的编写,简化单元测试工作。
单元测试是一种基本的,由开发人员(而不是测试人员)完成的测试,保证一个程序基本单元的正确性。“单元”的概念我个人理解就类似电子设备中的元器件,一个个元器件(单元)组成了整个电子设备(程序)。而元器件的功能是单一的、确定的,可以在电子设备未完全成型(程序未完全实现)之前对其正确性进行测试(即单元测试)。同时,这些元器件是独立的,可以方便的更换(高内聚,低耦合,可以任意重构——只要满足前面的单元测试)。所以单元测试是测试驱动开发、极限编程、敏捷中的重要概念。
一个简单的例子:
#FileName:ut_target.py
classEqualToZero(Exception):pass
classSplitZero(object):
defsplitzero(self,num):
ifnum>0:
return"numisbiggerthanzero"
elifnum<0:
return"numissmallerthanzero"
else:
raiseEqualToZero
#FileName:utest.py
fromut_targetimportSplitZero,EqualToZero
importunittest
classSzTestCase(unittest.TestCase):
defsetUp(self):
print"teststart"
deftearDown(self):
print"teststop"
deftestSzBig(self):
num=10
sz=SplitZero()
self.assertEqual(sz.splitzero(num),
"numisbiggerthanzero")
deftestSzSmall(self):
num=-10
sz=SplitZero()
self.assertEqual(sz.splitzero(num),
"numissmallerthanzero")
deftestSzEqual(self):
num=0
sz=SplitZero()
self.assertRaises(EqualToZero,sz.splitzero,num)
if__name__=="__main__":
unittest.main()
执行pythonutest.py-v
testSzBig(__main__.SzTestCase)...teststart
teststop
ok
testSzEqual(__main__.SzTestCase)...teststart
teststop
ok
testSzSmall(__main__.SzTestCase)...teststart
teststop
ok
----------------------------------------------------------------------
Ran3testsin0.000s
OK
unittest基本使用方法
1.importunittest
2.定义一个继承自unittest.TestCase的测试用例类
3.定义setUp和tearDown,在每个测试用例前后做一些辅助工作。
4.定义测试用例,名字以test开头。
5.一个测试用例应该只测试一个方面,测试目的和测试内容应很明确。主要是调用assertEqual、assertRaises等断言方法判断程序执行结果和预期值是否相符。
6.调用unittest.main()启动测试
7.如果测试未通过,会输出相应的错误提示。如果测试全部通过则不显示任何东西,这时可以添加-v参数显示详细信息。
以上内容为大家介绍了python单元测试框架unittest,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们http://www.mobiletrain.org/
最新内容
相关内容
python的单元测试框架
python的单元测试框架,代码,生态,信息,标准,测试,分析,工具,环境,条款,活跃,1、AutotestAutotest是Google、Redhat、IBM公司联合开发的分布式For循环如何在Python中工作
For循环如何在Python中工作,工作,项目,代码,培训,流程,示例,序列,语句,语法,实际,Python的for循环通过遍历数组的序列来工作。从本质上讲,它在为什么开发人员喜欢在机器学习和人
为什么开发人员喜欢在机器学习和人工智能项目中使用Python?,代码,项目,数据,人工智能,平台,异常,增长,灵活,时间,工具,1.Python是灵活的Pytho为何你的Python代码应是扁平与稀疏
为何你的Python代码应是扁平与稀疏的,代码,培训,信息,观察,设计,工具,嵌套,闻闻,程序员,沉思,Python之禅之所以得名,正是由于它那简明扼要的规如何提速优化python代码?
如何提速优化python代码?,代码,时间,数据,新增,写法,包装,情况,下来,面临,工作,Python是一种脚本语言,相比C/C++这样的编译语言,在效率和性能方学习Python可以做这些工作
学习Python可以做这些工作,网络,数据,工作,网站,技术,培训,行业,发展,人工智能,分析,Python语言非常受欢迎,随着互联网的快速发展,很多不是计算Web开发人员推荐的Python框架
Web开发人员推荐的Python框架,系统,公司,灵活,时间,项目,软件,框架,认证,管理,异常,您可以在没有框架的情况下创建出色的应用程序。如果您正Python 中如何实现参数化测试?
Python 中如何实现参数化测试?,密码,数据,测试,业务,情况,预期,培训,系统,参数,方法,之前,我曾转过一个单元测试框架系列的文章,里面介绍了unitPython爬虫学到什么程度可以找工作
Python爬虫学到什么程度可以找工作,技术,项目,网站,网上,下来,系统,公司,数据,占比,工具,有同学在群里和大家讨论,问的最多的问题就是,python爬如何让Python代码更易维护
如何让Python代码更易维护,代码,项目,标准,工具,质量,地方,一致,更正,培训,控制权,检查你的代码的质量,通过这些外部库使其更易维护。可读性很Python单元测试经验总结
Python单元测试经验总结,名字,项目,报告,工具,代码,培训,测试,文件,覆盖率,都会,python写单元大多数都会用到unittest和mock,测试代码覆盖率都关于Python 的 Web 自动化测试的实
关于Python 的 Web 自动化测试的实践,代码,分析,环境,系统,软件,信息,测试,工作,较大,百度,Web测试是软件测试中比较的一个分支,而要实现Web自