Python基于paramunittest模块实现excl参数化

下面是Python基于paramunittest模块实现excl参数化的详细攻略。

什么是paramunittest模块

paramunittest是一个Python的单元测试模块,可以实现对方法参数进行参数化自动测试。

安装paramunittest模块

在命令行执行下面的指令进行安装:

pip install paramunittest

实现excl参数化

第一步:创建测试用例的excl参数文件

创建一个excl参数文件,对测试参数进行统一管理。excl文件的格式可以使用.csv或.xlsx文件,简单起见,这里以.csv文件为例。

假设需要对一个计算两数之和的函数进行测试,那么我们可以创建一个参数文件test_data.csv,包含以下两行数据:

a,b,result
1,2,3
2,2,4

第二步:编写测试用例

通过继承paramunittest.TestCase类,实现单元测试用例,并在用例函数上添加@paramunittest.parametrized以实现参数化。

import paramunittest
import unittest
from mymodule import add  # 需要测试的函数

@paramunittest.parametrized(
    {"a": 1, "b": 2, "result": 3},
    {"a": 2, "b": 2, "result": 4}
)
class MyTestCase(unittest.TestCase):
    def setParameters(self, a, b, result):
        self.a = a
        self.b = b
        self.result = result

    def test_add(self):
        self.assertEqual(add(self.a, self.b), self.result)

第三步:链接参数文件和测试用例

在测试用例类上添加@paramunittest.parametrized装饰器,并在装饰器中传入数据源的文件名和Sheet名(或者None)。

@paramunittest.parametrized(
    *paramunittest.load_csv("test_data.csv")
)
class MyTestCase(unittest.TestCase):
    # ...

示例一

# test_data.csv文件内容如下:
# a,b,result
# 1,2,3
# 2,2,4

import paramunittest
import unittest
from mymodule import add

@paramunittest.parametrized(
    *paramunittest.load_csv("test_data.csv")
)
class TestAdd(unittest.TestCase):
    def setParameters(self, a, b, result):
        self.a = a
        self.b = b
        self.result = result

    def test_add(self):
        self.assertEqual(add(self.a, self.b), self.result)

示例二

# test_data.xlsx文件内容如下:
# Sheet1
# a  b  result
# 1  2  3
# 2  2  4

import paramunittest
import unittest
from mymodule import add

@paramunittest.parametrized(
    *paramunittest.load_excel("test_data.xlsx", "Sheet1")
)
class TestAdd(unittest.TestCase):
    def setParameters(self, a, b, result):
        self.a = a
        self.b = b
        self.result = result

    def test_add(self):
        self.assertEqual(add(self.a, self.b), self.result)

结尾

以上就是Python基于paramunittest模块实现excl参数化的攻略,希望对您有帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python基于paramunittest模块实现excl参数化 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • Python生成元组和字典的方法

    生成元组和字典是Python中非常常见的操作,下面是Python生成元组和字典的方法的完整攻略: 生成元组 直接生成元组 在Python中,可以使用小括号()来直接生成元组,用逗号隔开元素即可: tuple1 = (1, 2, 3) print(tuple1) 这会输出 (1, 2, 3),表示一个包含三个元素的元组。 使用内建函数生成元组 Python中有…

    python 2023年5月13日
    00
  • 一文教会你用python连接并简单操作SQLserver数据库

    一篇教你用Python连接并简单操作SQL Server数据库的攻略 在这篇文章里,我们将跟随以下步骤用Python来连接SQL Server数据库,并进行简单操作。 步骤说明 以下是我们通常需要进行的步骤: 安装PyODBC库; 安装SQL Server驱动程序; 连接SQL Server; 查询表格数据; 插入、更新、删除数据。 安装PyODBC库 Py…

    python 2023年5月13日
    00
  • Python绘制正二十面体图形示例

    下面是“Python绘制正二十面体图形示例”的完整攻略。 步骤一:安装必要的库 首先,需要安装必要的库:numpy 和 matplotlib。 你可以通过命令行执行以下命令进行安装: pip install numpy pip install matplotlib 步骤二:绘制一个正二十面体的三维坐标点 我们可以通过计算出正二十面体的顶点坐标,然后将这些坐标…

    python 2023年5月18日
    00
  • Python3.9.1中使用match方法详解

    以下是详细讲解“Python3.9.1中使用match方法详解”的完整攻略,包括match方法的介绍、正则表达式的编写、代码实现、两个示例说明和注意事项。 match方法介绍 在Python中,match方法是re模块中的一个函数,用于从字符串的开头开始匹配正则表达式。如果匹配成功,则返回一个匹配对象;否则返回None。 match方法的语法如下: re.m…

    python 2023年5月14日
    00
  • Python机器学习之Kmeans基础算法

    以下是关于“Python机器学习之Kmeans基础算法”的完整攻略: 简介 Kmeans是一种常见的聚类算法,它可以将数据集分成多个簇。Python中有多种库可以实现Kmeans算法,例如scikit-learn和numpy。本教程将介绍如何使用Python实现Kmeans基础算法,并提供两个示例。 Kmeans算法 Kmeans算法是一种迭代算法,它将数据…

    python 2023年5月14日
    00
  • Python中实现三目运算的方法

    当我们需要在 Python 代码中根据条件进行不同的操作时,可以使用三目运算符来简化代码,使其更加简洁。以下是实现三目运算的两种方法: 方法一:使用条件表达式 在 Python 中,我们可以使用条件表达式来实现三目运算。条件表达式是由三个部分组成:一个条件,一个如果条件为真时执行的表达式,以及一个如果条件为假时执行的表达式。 语法如下所示: value_if…

    python 2023年5月19日
    00
  • pip报错“OSError: [Errno 13] Permission denied: ‘/usr/local/lib/python3.6/dist-packages/pip/_internal/utils/temp_dir.py’”怎么处理?

    当使用pip安装Python包时,可能会遇到“ModuleNotFoundError: No module named ‘pip._vendor.six’”或“OSError: [Errno 13] Permission denied: ‘/usr/local/lib/python3.6/dist-packages/pip/_internal/utils/t…

    python 2023年5月4日
    00
  • python Scrapy爬虫框架的使用

    Python Scrapy爬虫框架的使用 Scrapy是一个用于爬取Web站点并从中提取数据的Python应用程序框架。 本攻略将介绍使用Scrapy构建Python爬虫的基本步骤。 安装Scrapy 在终端中使用以下命令安装Scrapy: pip install scrapy 构建爬虫 以下示例将介绍如何使用Scrapy构建爬虫程序。该程序将从特定网站抓取…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部