unittest讲解以及测试用例的执行方式

本文详细介绍了unittest库在Python中的使用,包括Test fixture的概念,如何通过setUp()和tearDown()建立和清理测试环境。此外,还讲解了Testcase、Test suite、Test runner和TestLoader的作用。通过继承unittest.TestCase创建测试用例,利用setUp和tearDown设置测试前后操作,并以test开头的方法定义测试用例。最后,文章提到了unittest.main()作为执行入口,以及如何在PyCharm中创建并运行testunittest.py文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

理论知识:
Test fixture:
是一个fixture对一个测试用例环境的搭建和销毁,
通过覆盖 TestCase的setUp()和tearDown()方法来实现。
关于fixture,还有一个专门的库函数叫做fixtures,功能更加强大。

Testcase:
一个TestCase的实例就是一个测试用例,就是一个完整的测试流程,包括测试前准备环境的搭建(setUp),执行测试代码 (run),
以及测试后环境的还原(tearDown)。一个测试用例是一个完整的测试单元,通过运行这个测试单元,可以对某一个问题进行验证。

Test suite:
多个测试用例集合在一起,就是TestSuite,而且TestSuite也可以嵌套TestSuite。

Test runner:
是来执行测试用例的,其中的run(test)会执行TestSuite/TestCase中的run(result)方法。

TestLoader:
是用来加载TestCase到TestSuite中的,
其中有几个loadTestsFrom__()方法,就是从各个地方寻找TestCase,创建它们的实例,然后add到TestSuite中,再返回一个TestSuite实例。

使用方法:
需要创建一个类来继承unittest.TestCase
使用setUp和tearDown在每个用例执行都需要执行
定义测试用例,命名以test开头,会自动将test开头的用例加入到testsuit中
断言
unittest.main()执行用例

具体看代码怎么实现吧,先使用pycharm创建好一个testunittest.py的文件,执行方式在代码中都有体现

'''
import unittest
from sele_learn.HTMLTestRunner_PY3 import HTMLTestRunner

class Test_Unittest_case(unittest.TestCase):

    #setUpClass这个需要加上@classmethod,否则报错
    @classmethod
    def setUpClass(cls):
        print("类1执行时候开始")

    @classmethod
    def tearDownClass(cls):
        print("类1执行结束开始")

    def setUp(self):
        print("用例开始")

    def tearDown(self):
        print("用例结束")
        print("----------")

    #遇到unittest.skip时候会跳过当前用例
    @unittest.skip
    def testsearch01(self):
        # print(self.assertEqual(1, 1, "判断两者相等"))
        print("第一个")

    def testsearch02(self):
        print("第二个")

    def testsearch03(self):
        print("第三个")

  
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值