UnitTest框架

本文介绍了Python单元测试框架中的Fixture概念,Fixture是用于测试用例中的代码结构,会在每个测试方法执行前后自动调用,以减少重复代码。文章还提到了测试用例的方法级别和断言的重要性,以及如何通过代码读取json文件进行数据驱动测试。
摘要由CSDN通过智能技术生成
UnitTest是Python⾃带的单元测试框架
使⽤unittest 框架 来 管理 运⾏ 多个测试⽤例。
1、TestCase(测试⽤例):每个 TestCase(测试⽤例) 都是⼀个代码⽂件, 在这个代码⽂件中来书写 真正的⽤例代码。
2、TestSuite(测试套件), 管理、组装(打包)多个TestCase(测试⽤例)
3、TestRunner(测试执⾏,测试运⾏), 执⾏ TestSuite(测试套件)
4、TestLoader(测试加载),功能是对 TestSuite(测试套件) 功能的补充, 管理、组装(打包)多个 TestCase(测试⽤例)

5、Fixture(测试夹具), 书写在 TestCase(测试⽤例) 代码中, 是⼀个代码结构,在某些特定的情况下 会自动执行 。

每个⽤例中重复的代码就可以写在 Fixture 代码结构中, 只写⼀遍, 但每次⽤例⽅法的执⾏,都会执⾏ Fixture 中的代码

1、TestCase( 测试⽤例 )
1. 导包 (unittest) :import unittest
2. ⾃定义测试类 :class testdemo(unittest.TestCase):
3. 在测试类中书写测试⽅法 :def test_method1(self):
4. 执⾏⽤例
.       1、 将光标放在 类名的后边 运⾏, 会执⾏类中的所有的测 试⽅法
        2 、将光标放在 ⽅法名的后边 运⾏, 只执⾏当前的⽅法
# 1.导包
import unittest

# 2.自定义测试类
# 继承 unittest 模块中的TestCase 类
class testdemo(unittest.TestCase):
    # 3.书写测试方法  测试⽅法以test_ 开头
    def test_method1(self):
        print("111111")
    def test_method2(self):
        print("222222")

# 4.执行用例
2、3、TestSuite 、TestRunner
 
1. 导包(unittest) :import unittest
2. 实例化(创建对象)套件对象 :suite=unittest.TestSuite()
3. 使⽤套件对象添加⽤例⽅法 :suite.addTest(testdemo1('test_method1'))
4. 实例化运⾏对象 :runner=unittest.TextTestRunner()
5. 使⽤运⾏对象去执⾏套件对象:runner.run(suite)
# 1. 导包(unittest)
import unittest
from day09.t02 import testdemo1
from day09.t03 import testdemo2

# 2. 实例化(创建对象)套件对象
suite=unittest.TestSuite()
# 3. 使⽤套件对象添加⽤例⽅法
# suite.addTest(testdemo1('test_method1'))
# suite.addTest(testdemo1('test_method2'))
# suite.addTest(testdemo2('test_method1'))
# suite.addTest(testdemo2('test_method2'))

    #将⼀个测试类中的所有⽅法进⾏添加
suite.addTest(unittest.makeSuite(testdemo1))
suite.addTest(unittest.makeSuite(testdemo2))

# 4. 实例化运⾏对象
runner=unittest.TextTestRunner()
# 5. 使⽤运⾏对象去执⾏套件对象
# 运⾏对象.run(套件对象)
runner.run(suite)

1. 在 tools 模块中定义 add 函数, 对两个数字进⾏求和计算
2. 书写 TestCase 代码对 add() 进⾏
unittest框架是一种用于进行单元测试框架,它是Python自带的一个测试框架unittest提供了创建测试用例、测试套件以及批量执行的方案。通过引入unittest框架,我们可以创建一个继承自TestCase的类,将每个测试用例看作是最小的单元,并由测试容器组织起来,以便直接执行并生成测试报告。unittest框架的核心要素包括TestCase(测试用例)、TestSuite(测试套件)、TestRunner(测试执行器,用于执行TestSuite中的测试用例)、TestLoader(用于批量执行测试用例,可以搜索指定文件夹内指定字母开头的模块)以及Fixture(固定装置,用于在测试开始和结束时执行特定的函数)。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [unittest框架](https://blog.csdn.net/ZJRUIII/article/details/125047179)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [自动化测试——unittest框架](https://blog.csdn.net/qq_54219272/article/details/123265794)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值