博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 单元测试之初次尝试
阅读量:5284 次
发布时间:2019-06-14

本文共 2070 字,大约阅读时间需要 6 分钟。

python 语言中有很多单元测试框架和工具,而unittest单元测试框架作为标准python语言中的一个模块。是其他框架和工具的基础。 想要进行单元测试,我们需要使用到unittest框架中的功能。在unittest框架中:  TestCase(测试用例):对应功能模块里一条条用例 TestSuite (测试套件)多个测试用例集合在一起,就是TestSuite,就是一个功能模块的所有用例放这里了 TestLoader:是用来加载TestCase到TestSuite中。 TestRunner(测试运行器):是来执行测试用例的,测试的结果会保存到TestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息
import unittest #导入unittest模块class mytest1(unittest.TestCase): #定义测试用例的类    def test1(self): #定义测试用例,测试用例必须以test开头,否则不会识别为测试用例        self.assertEqual(1,1) #测试用例断言,比较预期结果与实际结果,这里1==1,显然结果是pass    def test2(self):        self.assertEqual(2,1) #测试用例断言,比较预期结果与实际结果,这里2==1,显然结果是failclass mytest2(unittest.TestCase):  #定义测试用例的类    def test4(self):        self.assertEqual(1,1)    def test5(self):        self.assertEqual(3,2)if __name__=='__main__': suite=unittest.TestSuite() #定义一个测试套件 suite.addTest(unittest.makeSuite(mytest1)) #向测试套件里新增这个类下的所有测试用例 suite.addTest(unittest.makeSuite(mytest2)) unittest.TextTestRunner(verbosity=2).run(suite) #运行测试用例

测试结果:在测试结果中,我们运行的测试用例情况。成功了多少,失败了多少。失败的原因。

 

上述写法,会在命令行显示测试结果。单元测试结束后,可以通过HTMLTestRunner生成HTML测试报告,即便于阅读,也美观。使用HTMLTestRunner模块就可以将测试报告结果以HTML页面的形式展现出来。上述代码调整如下:(红色字体部分为调整部分)

import unittest #导入unittest模块import HTMLTestRunnerclass mytest1(unittest.TestCase): #定义测试用例的类    def test1(self): #定义测试用例,测试用例必须以test开头,否则不会识别为测试用例        self.assertEqual(1,1) #测试用例断言,比较预期结果与实际结果,这里1==1,显然结果是pass    def test2(self):        self.assertEqual(2,1) #测试用例断言,比较预期结果与实际结果,这里2==1,显然结果是failclass mytest2(unittest.TestCase):  #定义测试用例的类    def test4(self):        self.assertEqual(1,1)    def test5(self):        self.assertEqual(3,2)if __name__=='__main__': suite=unittest.TestSuite() #定义一个测试套件 suite.addTest(unittest.makeSuite(mytest1)) #向测试套件里新增这个类下的所有测试用例 suite.addTest(unittest.makeSuite(mytest2)) #unittest.TextTestRunner(verbosity=2).run(suite) #运行测试用例  filename="E:\\UTesting.html" fp=open(filename,'wb') runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title='zwh UTesting report',description='the report is test!!') runner.run(suite)

  在E盘,我们会发现生成的测试报告:UTesting.html

 

转载于:https://www.cnblogs.com/benpao1314/p/9627468.html

你可能感兴趣的文章
lightoj 1027【数学概率】
查看>>
Apparmor——Linux内核中的强制访问控制系统
查看>>
HOJ-1005 Fast Food(动态规划)
查看>>
jQuery 杂项方法
查看>>
系出名门Android(4) - 活动(Activity), 服务(Service), 广播(Broadcast), 广播接收 器(BroadcastReceiver)...
查看>>
Dynamics CRM Microsoft SQL Server 指定的数据库具有更高的版本
查看>>
C++学习基础九——继承
查看>>
android - anim translate中 fromXDelta、toXDelta、fromYDelta、toXDelta属性
查看>>
FasfDFS整合Java实现文件上传下载
查看>>
love2d教程5--摄相机1视角跟随玩家
查看>>
MonGoDB问题笔记
查看>>
用Hadoop构建电影推荐系统
查看>>
Linux命令1——a
查看>>
u-boot-2016.01移植(一)
查看>>
同花顺核新下单程序的"界面不操作超时时间"的设定
查看>>
Python学习:类和实例
查看>>
紫书 悲剧文本(链表)
查看>>
分析Sqlserver与access数据库sql语法的10大差异
查看>>
10 class封装 ORM
查看>>
CSS小笔记
查看>>