前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python六十五课——单元测试(一)

python六十五课——单元测试(一)

作者头像
hankleo
发布2020-09-16 16:38:25
2740
发布2020-09-16 16:38:25
举报
文章被收录于专栏:Hank’s BlogHank’s Blog

对函数(模块中的)进行函数测试 定义两个需要被测试的函数:

代码语言:javascript
复制
#求和函数
def mySum(x,y):
    return x+y

#相减函数
def mySub(x,y):
    return x-y

print(mySum(10,20))
代码语言:javascript
复制
#导入测试模块 import unittest
import unittest

#导入需要被测试的函数
from method import mySum
from method import mySub

对函数(模块中的)进行单元测试: 步骤一: 需要先导入测试模块unittest,然后自定义类继承unittest中的TestCase类, 并且去重写setUp()和tearDown()函数 步骤二: 将需要被测试的函数命名修饰一下(加上test_来定义), 在函数体中通过self调用assertEqual()函数,目的:断言结果 步骤三: 启动测试模块 如果控制台显示红条,表示断言失败,可以认为测试的方法功能有问题 如果控制台显示绿条,表示断言成功,可以认为测试的方法功能ok

代码语言:javascript
复制
#自定义类:
class MyTest(unittest.TestCase):
    '''
    以下代码发生子类重写父类函数的行为
    理解:setUp()和tearDown()函数的作用
    对于setUp()函数而言:
    在执行主模块的时候由系统自动调用(时机:在被测试的函数执行之前被调用执行)
    对于tearDown()函数而言:
    在执行主模块的时候由系统自动调用(时机:在被测试的函数执行之后被调用执行)
    '''
def setUp(self):
    print('对函数开始单元测试...')

def tearDown(self):
    print('单元测试结束了...')

'''
修饰需要被测试的函数
以下两个函数都是由系统自动调用(时机:分别在setUp()函数之后和tearDown函数之前)
'''

def test_mySum(self):
    '''
    断言:预言(测试)、就是推断这个函数执行以后的结果是什么?
    通过self调用assertEqual(,,)
    参数1:需要被测试的函数 【注意】此函数调用必须有小括号以及实参
    参数2:断言的结果
    参数3:如果断言失败了,错误提示信息
    '''
    self.assertEqual(mySum(2,1),3,'加法功能逻辑有误...')

def test_mySub(self):
    self.assertEqual(mySub(5,1),1,'减法功能逻辑有误...')

if __name__=='__main__':
    #需要通过测试模块unittest调用其main()
    unittest.main()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-03-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档