Unittest单元测试框架之unittest的第三方库paramunittest参数化基础及应用

这篇具有很好参考价值的文章主要介绍了Unittest单元测试框架之unittest的第三方库paramunittest参数化基础及应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、unittest参数化介绍

参数化测试用于当需要使用多组不同的测试数据测试同一个方法的时候
paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例
实现unittest参数化的方式有多种,如ddt、paramunittest等

Unittest单元测试框架之unittest的第三方库paramunittest参数化基础及应用

 二、paramunittest模块安装

pip install paramunittest

三、示例

1、元组数据实现参数化

import unittest
import paramunittest # pip install paramunittest


# 参数化元组类型数据
@paramunittest.parametrized(
    (20,30,50),
    (30,40,70),
    (60,80,140)
)

class TestDemo(paramunittest.ParametrizedTestCase):

    def setParameters(self, numa,numb,result): # 把参数化传递到测试类中
        self.a = numa
        self.b = numb
        self.c = result

    def test_add_case(self):
        print("%d+%d=%d" % (self.a,self.b,self.c) )
        self.assertEqual(self.a+self.b, self.c)


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

执行以上代码,测试结果如下:

Unittest单元测试框架之unittest的第三方库paramunittest参数化基础及应用

2、列表数据实现参数化

import unittest
import paramunittest # pip install paramunittest


# 参数化列表类型数据
@paramunittest.parametrized(
    [20,30,50],
    [30,40,70],
    [60,80,140]
)

class TestDemo(paramunittest.ParametrizedTestCase):

    def setParameters(self, numa,numb,result): # 把参数化传递到测试类中
        self.a = numa
        self.b = numb
        self.c = result

    def test_add_case(self):
        print("%d+%d=%d" % (self.a,self.b,self.c) )
        self.assertEqual(self.a+self.b, self.c)


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

执行以上代码,测试结果如下:

Unittest单元测试框架之unittest的第三方库paramunittest参数化基础及应用

3、字典数据实现参数化

import unittest
import paramunittest # pip install paramunittest



# 参数化字典类型数据(字典中的key要和setParameters方法中的形参一致)
@paramunittest.parametrized(
    {"numa":20,"numb":30,"result":50},
    {"numa":30,"numb":40,"result":70},
    {"numa":60,"numb":80,"result":140}
)


class TestDemo(paramunittest.ParametrizedTestCase):

    def setParameters(self, numa,numb,result): # 把参数化传递到测试类中
        self.a = numa
        self.b = numb
        self.c = result

    def test_add_case(self):
        print("%d+%d=%d" % (self.a,self.b,self.c) )
        self.assertEqual(self.a+self.b, self.c)


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

执行以上代码,测试结果如下:

Unittest单元测试框架之unittest的第三方库paramunittest参数化基础及应用

4、参数通过函数或者数据对象传入实现参数化

import unittest
import paramunittest # pip install paramunittest


# # 参数化:数据对象
# testdata = [
#     {"numa":20,"numb":30,"result":50},
#     {"numa":30,"numb":40,"result":70},
#     {"numa":60,"numb":80,"result":140}
#             ]
# # 参数化类型数据
# @paramunittest.parametrized(
#     *testdata
# )

# 参数化:函数
def get_data():
    return [{"numa":20,"numb":30,"result":50},
            {"numa":30,"numb":40,"result":70},
            {"numa":60,"numb":80,"result":140}]
# 参数化类型数据
@paramunittest.parametrized(
    *get_data()
)


class TestDemo(paramunittest.ParametrizedTestCase):

    def setParameters(self, numa,numb,result): # 把参数化传递到测试类中
        self.a = numa
        self.b = numb
        self.c = result

    def test_add_case(self):
        print("%d+%d=%d" % (self.a,self.b,self.c) )
        self.assertEqual(self.a+self.b, self.c)


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

执行以上代码,测试结果如下:

Unittest单元测试框架之unittest的第三方库paramunittest参数化基础及应用

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

Unittest单元测试框架之unittest的第三方库paramunittest参数化基础及应用

Unittest单元测试框架之unittest的第三方库paramunittest参数化基础及应用

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!!
Unittest单元测试框架之unittest的第三方库paramunittest参数化基础及应用文章来源地址https://www.toymoban.com/news/detail-447132.html

到了这里,关于Unittest单元测试框架之unittest的第三方库paramunittest参数化基础及应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Selenium基础 —unittest单元测试框架

    目录 (一)unittest基本简介 (二)unittest基本概念 1、unittest核心的四个概念 2、如何创建一个测试类 3、test fixture常用的四个方法 4、unittest编写测试方法(用例)规范 5、执行测试脚本 6、入门示例 7、结果说明 (三)断言方法 1、断言介绍 2、常用的断言方法 3、断言示例 (四)

    2023年04月08日
    浏览(35)
  • Selenium-Unittest单元测试框架

    1、Unittest介绍 为什么要学习单元测试框架 测试用例的组织与运行需要单元测试框架的参与,从而满足不同测试场景的需要,单元测试框架提供了丰富的比较方法:实际结果与预期结果的对比==测试结果 单元测试框架提供了丰富的日志:给出测试用例失败与通过的数目及执行

    2024年02月04日
    浏览(42)
  • Python中的单元测试框架:使用unittest进行有效测试

    在软件开发中,单元测试是一种测试方法,它用于检查单个软件组件(例如函数或方法)的正确性。Python 提供了一个内置的单元测试库,名为 unittest ,可以用来编写测试代码,然后运行测试,并报告测试结果。 本文将向你介绍如何使用 unittest 来编写和运行单元测试。通过阅

    2024年03月09日
    浏览(40)
  • Unittest单元测试之unittest用例执行顺序

    当在一个测试类或多个测试模块下,用例数量较多时,unittest在执行用例 (test_xxx)时,并不是按从上到下的顺序执行,有特定的顺序。 unittest框架默认根据ACSII码的顺序加载测试用例,数字与字母的顺序为: 0~9,A~Z,a~z。 对于类来说,class TestAxx 会优先于class TestBxx被执行。

    2024年02月13日
    浏览(37)
  • 解决 TypeError: object of type ‘float‘ has no len() 问题 unittest单元测试框架 ddt data 数据驱动

    在unittest框架下,运用ddt和data模块进行数据驱动,脚本外存储数据时,报错。 对象数据类型不够存储。 excel文件中的数据单元格没有添加 \\\' 英文的单引号,把数字当成文本来处理。电话号为11超出float数据类型的存储范围,文本就当成了字符串数据类型来处理。 将单元格内添

    2024年02月16日
    浏览(39)
  • 单元测试|unittest生成测试报告

    测试报告为测试结果的统计即展示,是自动化测试不可或缺的一部分,利用unittest 可以生成测试报告。 使用第三方 HTMLTestRunner 执行测试用例集,生成网页版测试报告 HTMLTestRunner是Python标准库的unittest模块的一个扩展,在使用该模块之前 要下载HTMLTestRunner.py文件,并将该文件保

    2024年02月09日
    浏览(37)
  • unittest单元测试

    当你在编写测试用例时,可以使用Python内置的 unittest 模块来进行单元测试。下面是一个逐步指南,帮助你理解如何编写和运行基本的单元测试。 导入必要的模块 : 首先,你需要导入 unittest 模块和需要测试的模块(例如,你的 app.py )以及可能需要的其他模块。 import unitte

    2024年02月13日
    浏览(35)
  • [Python]unittest-单元测试

    目录 unittest的大致构成: Test Fixture Test Case-测试用例 Test Suite-测试套件 Test Runner 批量执行脚本 makeSuite() TestLoader discover() 用例的执行顺序 忽略用例执行 skip skipIf skipUnless 断言 HTML测试报告 错误截图 unittest是python中的单元测试框架 大致作用: 提供用例的组织与执行-组织大量的测

    2024年02月08日
    浏览(32)
  • 单元测试、集成测试、功能测试——Unittest

     颗粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”;是指 对软件中的最小可测试单元进行检查和验证  介于单元测试和系统测试之间,一般由开发小组采用白盒+黑盒的方法来测试,即验 证“设计”又验证“需求”。主要用来测试模板与模

    2023年04月08日
    浏览(41)
  • 27、springboot自定义第三方框架和Starter组件及其测试完整版

    所谓的自动配置,就是通过一个配置类,然后这个配置类在我们容器中定义了大量的bean,然后这些bean也不是直接定义,它是结合了条件注解,只有在某些特定的条件下,才会生效,这样我们的自动配置就可以根据我们的环境的配置(如yml配置文件),根据我们这个应用程序

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包