python测试函数

python中有unittest的模块测试代码。使用这个模块可以看出测试是否通过,如果测试通过就说明代码达到预期。
在编写测试函数之前,先要知道一些函数。
导入unittest.TaseCase模块,有几种断言方式:

断言方式用法
assertEqual(a,b)a == b
assertNotEquala != b
assertTrue(x)x 为 True
assertFalse(x)x 为 False
assertIn(a,list)a 在 list中
assertNotIna 不在 list 中

先定义一个sum函数用于测试

def sum(a,b):
    '''

    :param a:传入的参数a
    :param b:传入的参数b
    :return:返回sum值
    '''
    return a+b

编写测试类
下面的测试代码分三步:准备工作,测试工作,收尾工作

class Test_sum(unittest.TestCase):
    '''
    测试sum函数
    '''
    def setUp(self):
        '''准备工作'''
        print('准备工作开始')
        self.a = 1
        self.b = 2
        self.sum = 3
    def tearDown(self):
        '''收尾工作'''
        del(self.a)
        del(self.b)
        del(self.sum)
        print('收尾工作完成!')
    def test_sum_true(self):
        print('测试代码开始!')
        self.assertEqual(sum(self.a,self.b),self.sum)

if __name__ == '__main__':
    unittest.main()

如果运行结果出现

.
准备工作开始
----------------------------------------------------------------------
测试代码开始!
Ran 1 test in 0.000s
收尾工作完成!

OK

运行成功,代码函数符合预期


这里我们把sum函数改成

def sum(a,b):
    '''
    :param a:传入的参数a
    :param b:传入的参数b
    :return:返回sum值
    '''
    return a+b+1

测试函数不变
再运行测试函数会出现

准备工作开始
F
测试代码开始!
收尾工作完成!
======================================================================
FAIL: test_sum_true (__main__.Test_sum)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:/Users/Administrator/Desktop/python/day29-代码调试和测试 课后/day29-代码调试和测试/实验.py", line 25, in test_sum_true
    self.assertEqual(sum(self.a,self.b),self.sum)
AssertionError: 4 != 3

----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (failures=1)

报错出现,我们可以在下面看出错误 “AssertionError: 4 != 3” 断言错误,这时我们再调试函数就可以了

文档测试

#这是测试文档
def add(a,b):
    '''这是测试文档
    >>> add(1,2)
    3
    >>> add(2,4)
    6
    '''
    return a+b


if __name__ == '__main__':
    import doctest
    doctest.testmod()

结果会在pycharm中显示出来,这里不做演示
如果出现问题:

**********************************************************************
Failed example:
    add(2,4)
Expected:
    76
Got:
    6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值