python 单元测试 unittest 标准库

import unittest    # 导入标准库中的 unittest


def add(a, b):   # 创建一个需要被测试的函数,供下面测试时调用。
    return a*b


class My_test(unittest.TestCase):       # 创建一个测试类,需要继承 unittest.TestCase。
'''编写测试函数,函数名必须是 test* 开头'''

	def setUp(self):
        print('开始测试')

    def tearDown(self):
        print('结束测试')

    def test_one(self):    				# 这里写一个简单测试,用 assert 进行断言,判断 1+1 是不是等于 2,
        assert 1+1 == 2, '测试1'        #  如果不等于2,那么抛出  “AssertionError: 测试1”。

    def test_add(self):                 #  这个函数用来测试 上面定义的 add(a, b) 函数。
        i = 1
        for a, b, c in [(1, 1, 1), (2, 2, 4), (3, 3, 6), (4, 4, 8)]:
            print(i)                 # 打印出来看看 for 循环了多少次。 
            with self.subTest(c):    # subTest的作用是:当循环中测试出错时,使其接着继续下面的测试,而不会终断。
                                     # subTest的参数是出错时返回的一个标记,可以为任何值。这里取 元组中的 c 。
                res = add(a, b)
                self.assertEqual(res, c)    # 用 unittest自带的判断方法,判断两个参数是否相等。
            i += 1
   

if __name__ == '__main__':
    unittest.main()    # 单元测试入口

setUp() 方法会在每个测试方法执行之前执行,tearDown() 方法是在每个测试方法执行
之后执行。它们通常用来分配和回收测试需要的外部资源,比如数据库连接或者一些测
试数据。在上面代码中,setUp()和tearDown()方法在 test_one 和 test_add测试中都各自会被调用一次。

一些unittest自带的断言方法如下:
在这里插入图片描述
更详细的用法见官方文档:unittest官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值