1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

Python单元测试两种方法解答

Python单元测试方法详解

小编为大家详细介绍Python中单元测试的具体方法,包括了doctest和unittest两个单元测试包的使用场景。

Python单元测试两种方法解答

实现方法

先展示一个待测试的方法:

def add(num1,num2):
    return num1+num2

doctest

在方法体中写入单元测试内容:

def add(num1,num2):
    """
    直接写在待测方法中
    >>>add(14,5)
    19
    >>>add(14,5)>1
    True
    >>>add(20,30,70)
    Traceback(most recent call last):
    ...
    TypeError:add()takes 2 positional arguments but 3 were given
    """
    return num1+num2
    if __name__=="__main__":
        import doctest
        doctest.testmod()

运行后,只有在预测结果错误时才会给提示。

unittest

与doctest不同的是,unittest通常写在独立文件中,代码结构清晰。

import unittest
#引入上面的待测试方法
from src.main.add import add

class TestStatisticalFunctions(unittest.TestCase):
    def test_add(self):
        self.assertEqual(add(14,5),19)#断言add(14,5)的结果为19
        self.assertTrue(add(14,5)>1,True)#断言add(14,5)>1的结果为True
        with self.assertRaises(TypeError):#断言add(20,30,70)抛出TypeError异常
            add(20,30,70)

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

与doctest类似,只有预测结果错误时才会有提示。

以上就是Python中单元测试的两种具体方法,希望本文能够对大家有所帮助。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/7256.html