首页 > 其他 > 详细

HOMEWORD2

时间:2019-04-13 22:45:55      阅读:125      评论:0      收藏:0      [点我收藏+]

开发工具和语言选择

语言 :pyhton3.6 工具 我选择的是 pycharm2019.1。由于之前已经安装好了,这里就不再贴出。

自动单元测试练习

python单元测试框架Unittest。Unittest最核心的四个概念是:test case, test suite, test runner, test fixture。下面简单介绍一下

Testcase

可以理解为一个单独的测试用例

Testsuit

就是多个测试用例集合在一起

Testloader

加载Testcase到Testsuit,返回一个Testsuit

Testfixture

对一个用例的搭建和销毁

测试函数的编写

mytest.py

class MATH:  
def add(self,a,b):  
    return a+b  
def minus(self,a,b):  
    return a-b  
def divide(self,a,b):  
    return a/b

测试单元

tstunit.py

import  unittest  
from mytest import *  
class theTests(unittest.TestCase):
def setUp(self):
    self.m = MATH()

def tearDown(self):  
    pass  

def test_add(self):
    result = self.m.add(10,20)  
    self.assertEqual(30,result)  
    print('+')  

def test_minus(self):  
    result = self.m.minus(20,10)  
    self.assertEqual(10,result)  
    print('-')  

def test_divide(self):  
    result = self.m.divide(9,2)  
    self.assertEqual(4.5,result)  
    print('/')  
if  __name__ == '__main__':  
    unittest.main()  

运行结果

如下图
技术分享图片
.表示测试通过 F表示不通过。我们看输出的符号顺序是 + / - 这与我们编写的测试顺序不同。如果想让输出按照我们编写的顺序来实现的话可以这样实现。

在函数名中添加数字来实现

比如之前的test_divide()函数 将其改为test_3_divide(),将test_add()改为test_2_add(),将test_minus()改为test_1_minus()
运行后,输出如下。
技术分享图片

另一种方法就是使用Testsuit

Testsuit不仅可以按序测试多个函数,也可以按顺序执行多个测试文件
按顺序将要测试的函数添加到列表中,通过addTests方法添加到Testsuit中
运行结果如下
技术分享图片

参考文章

[1](http://www.mamicode.com/info-detail-2366101.html)
[2](https://blog.csdn.net/huilan_same/article/details/52944782)

HOMEWORD2

原文:https://www.cnblogs.com/emt444847010/p/10702635.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!