如何用unittest做自动化测试

本文详细介绍了Python单元测试框架unittest的核心组件,包括TestCase、TestSuite、TestRunner和TestFixture。阐述了测试用例的编写流程,强调了测试用例应包含的前置条件、测试步骤、结果断言和后置处理。同时,解释了测试用例的执行顺序以及断言机制,特别提到了异常捕获与抛出的重要性。最后,文章提供了用例收集的链接,帮助读者更好地组织和执行测试用例。
摘要由CSDN通过智能技术生成

一、unittest核心组件

1、TestCase:测试用例类,用来定义测试用例函数的

2、TestSuite:测试套件,用来收集测试用例的

3、TestRunner:测试用例运行类,用来执行测试用例的,以测试套件维度去执行

4、TestFixture:测试脚手架,前置条件,后置处理

二、测试流程

1、TestCase:先定义测试用例类,在测试用例类中写测试方法

2、TestSuite:收集你要执行的测试用例类或者文件里面的测试方法,放到测试套件

3、TestRunner:将收集好的测试条件放到测试用例运行器去执行,并收集测试结果

4、TestFixture:做好前置条件和后置处理

三、如何写测试用例?TestCase

1、导入模块:import unittest,继承TestCase类

2、定义一个测试用例类:类名称必须Test开头

3、定义测试方法:测试方法也必须是test开头,必须写在测试用例类里面

4、框架执行入口:unittest.main(),自动收集当前py文件的测试用例,然后执行

四、测试用例应该包含哪些东西?

1、前置条件(如果没有可以不写):sql语句执行、数据库连接创建、工具类的实例化

        

2、测试步骤(业务逻辑):数据替换、数据驱动

3、测试结果断言:响应结果断言、数据库数据断言

4、后置处理(如果没有可以不写):数据清理、数据库连接关闭

五、用例执行顺序

按照测试用例方法名称的ascll码顺序

六、用例断言

断言的特点:

1、unittest以程序运行过程中是否抛出异常来判断用例是否执行成功

2、如果断言失败程序会抛出异常,框架就会把这个用例标记为失败

3、只要你的程序中执行出现了其他异常,框架也会去捕获异常并将用例标记为失败

异常捕获与异常抛出
1、try...except 捕获到的异常一定要抛出来给框架,否则框架就会认为用例执行成功的
2、手动抛异常:raise AssertionError(e)
class TestDemo(unittest.TestCase):
    def test01(self):
        try:
            print('测试用例01')
            self.assertEqual(1, 2)
        # 捕获异常,如果不手动抛出异常,用例就会通过
        except Exception as e:
            print('失败原因', e)

    # 会自动抛异常
    def test02(self):
        print('测试用例02')
        self.assertEqual('a', 'b')

    def test03(self):
        try:
            print('测试用例03')
            self.assertEqual(1, 'a')
        except Exception as e:
            print('失败原因:', e)
            # 捕获异常,但是手动抛出异常
            raise AssertionError


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

七、用例收集 (TestSuit)

链接:https://note.youdao.com/s/B7FNVdLN   密码:CE57

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值