>> func(1, 2) 3 >>> func('a', 'c') 'ac' >>> fu"> >> func(1, 2) 3 >>> func('a', 'c') 'ac' >>> func('a', {})"> >> func(1, 2) 3 ">

python学习-测试(文档测试 doctest、单元测试 unittest)

文档测试

doctest:一个简单的模块,为检查文档而设计,但也适合用来编写单元测试。


def func(a, b):
    """
    doc test
    :param a:
    :param b:
    :return:
    >>> func(1, 2)
    3
    >>> func('a', 'c')
    'ac'
    >>> func('a', {})
    Traceback (most recent call last):
    TypeError: must be str, not dict

    """

    return a + b


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


如果把期望’ac’改成’ab’则会打印如下信息:
在这里插入图片描述
会告诉我们实际是’ac’,用例失败。
关于文档测试的一些拓展内容,推荐大家查看这里:
Python3使用doctest对项目中的单个函数进行测试

单元测试

unittest:一个通用的测试框架 。
注意所有测试方法都需要以test开头

引入unittest模块,直接使用unittest.main(),则按照用例的首字母排序进行用例的执行。
如果需要修改顺序,则使用:suite = unittest.TestSuite()和addTest控制顺序。


import unittest


class Test1(unittest.TestCase):
    @classmethod
    def setUpClass(self):
        print("测试用例运行前:")

    @classmethod
    def tearDownClass(self):
        print("测试用例运行后:")

    def setUp(self):
        print("用例执行前:")

    def tearDown(self):
        print("用例运行后:")

    def test_one(self):
        print('执行用例一')
        self.assertTrue('FOO'.isupper())

    def test_two(self):
        print('执行用例二')
        self.assertTrue('foo'.islower())


if __name__ == '__main__':
    # unittest.main()
    suite = unittest.TestSuite()
    suite.addTest(Test1("test_two"))
    suite.addTest(Test1("test_one"))
    runner = unittest.TextTestRunner()
    runner.run(suite)


运行结果:
在这里插入图片描述

具体的内容可以参考这篇文章:

Python3+unittest使用教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值