首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python,单元测试 - 将命令行参数传递给unittest.TestCase的setUp

首先,我们需要了解Python中的单元测试框架unittest以及setUp方法。unittest是Python内置的一个单元测试框架,它提供了一系列的测试类和方法,用于编写和运行测试用例。setUp方法是unittest中的一个特殊方法,它会在每个测试方法运行之前被调用,用于设置测试环境。

unittest中,测试方法的命名必须以test_开头,否则它将不会被识别为测试方法。因此,如果要将命令行参数传递给unittest.TestCasesetUp方法,可以通过以下方式实现:

  1. 在命令行中输入参数,例如:python -m unittest test_module.TestCase.test_method --arg1=value1 --arg2=value2
  2. setUp方法中使用sys.argv获取命令行参数,并解析出需要的参数值。

下面是一个示例代码:

代码语言:python
代码运行次数:0
复制
import sys
import unittest

class TestStringMethods(unittest.TestCase):

    def setUp(self):
        # 获取命令行参数
        args = sys.argv[1:]
        # 解析参数
        self.arg1 = None
        self.arg2 = None
        for arg in args:
            if arg.startswith('--arg1='):
                self.arg1 = arg.split('=')[1]
            elif arg.startswith('--arg2='):
                self.arg2 = arg.split('=')[1]

    def test_upper(self):
        self.assertEqual('foo'.upper(), 'FOO')
        self.assertEqual('bar'.upper(), 'BAR')

    def test_isupper(self):
        self.assertTrue('FOO'.isupper())
        self.assertFalse('Bar'.isupper())

    def test_split(self):
        s = 'hello world'
        self.assertEqual(s.split(), ['hello', 'world'])
        # 使用arg1和arg2参数
        self.assertEqual(s.split(self.arg1), ['hello', 'world'])

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

在上面的示例代码中,我们在setUp方法中使用sys.argv获取命令行参数,并解析出需要的参数值。然后在测试方法中使用这些参数值进行测试。在命令行中运行测试时,可以通过以下方式传递参数:

代码语言:txt
复制
python -m unittest test_module.TestStringMethods.test_upper --arg1=value1 --arg2=value2

这样,我们就可以将命令行参数传递给unittest.TestCasesetUp方法进行测试。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

深入解析Pythonunittest框架-基础用法与实践技巧

Pythonunittest框架: 基本用法和实例 Pythonunittest框架是Python标准库中用于单元测试模块,能够帮助开发者自动化测试,确保代码正确性和稳定性。...在本文中,我们详细介绍unittest框架基本用法,包括测试用例、测试套件、断言方法等,并通过实例演示如何编写和运行测试。 什么是单元测试?...,可以通过命令行直接运行,也可以在代码中使用测试运行器。...通过命令行运行 测试代码保存在一个Python文件中,例如test_example.py,然后在终端中运行: python -m unittest test_example.py 在代码中运行 可以在测试脚本末尾添加以下代码来运行测试...小结 通过本文介绍,我们了解了Python中unittest框架基本用法和一些进阶功能,包括跳过测试、使用Mock对象、参数化测试等。

14820
  • Python:使用标准库编写单元测试

    在现代软件开发中,编写单元测试是确保代码质量和可靠性重要步骤。Python 提供了一个内置单元测试框架,称为 unittest,它可以帮助开发者方便地编写和运行测试。...本文详细介绍如何使用 unittest 编写单元测试。 一、什么是单元测试单元测试是一种软件测试方法,通过对软件中最小可测试部分(称为“单元”)进行验证,确保其行为符合预期。...在Python中,一个单元通常是一个函数或一个方法。 二、unittest 概述 unittest 是 Python 标准库中自带单元测试框架,灵感来自于 Java JUnit。...运行测试 要运行测试,只需在命令行中执行测试脚本: bash python test_math_operations.py 四、深入使用 使用 setUp 和 tearDown setUp 和 tearDown...python class TestMathOperations(unittest.TestCase): def setUp(self): # 设置测试环境 self.a

    11610

    【深度学习】深度学习中单元测试

    我们首先简要介绍单元测试,然后是一个深度学习中单元测试示例,以及如何通过命令行和VS代码测试资源管理器运行这些测试。 介绍 单元测试是软件开发人员熟悉概念。...Python单元测试 每种语言都有自己工具和包可用于进行单元测试Python还提供了一些单元测试框架。unittest包是标准Python一部分。...我讨论如何通过命令行/bash和VS Code UI界面来使用这个框架。它灵感来自JUnit,与其他语言中主要单元测试框架有相似的风格。...接下来,我向你展示如何使用VS代码测试资源管理器通过UI运行这些测试。 在VS Code[3]中运行Python单元测试 在VS代码中,Python测试在默认情况下是禁用。...接下来,我们介绍了一个使用unittest包框架用PyTorch编写数据加载器单元实际示例。我们学习了如何通过命令行Python测试资源管理器从VS代码运行这些测试。

    2.1K20

    python unittest框架

    ,即传入main参数或是通过命令行添加参数影响了unittest内部某些特性,比如例子中verbosity代表了测试结果输出详细度,如果被设置为1,或者不设置,结果中将不会显示具体testcase...可以看到命令行传递sys.argv参数和传递到main其他参数是相互替代,这就达到了通过命令行参启动和通过main代码参启动,效果是一样。     ...使用python -m unittest -h可以查看帮助命令,其中python -m unittest discover是命令行另一分支,后面讨论,它也有自己帮助命令,即也在后面加上-h     ...也可以通过上面提到命令行来自动发现:python -m unittest discover **     可以指定下面的参数:-s 起始目录(.)  -t 顶级目录(.) ... operator import unittest,sys class TestOperator(unittest.TestCase):          def setUp(self):

    1.1K30

    python中如何定义函数传入参数是option_如何几个参数列表传递给@ click.option…

    如果通过使用自定义选项类列表格式化为python列表字符串文字,则可以强制单击以获取多个列表参数: 自定义类: import click import ast class PythonLiteralOption...Abstract Syntax Tree模块参数解析为python文字....自定义类用法: 要使用自定义类,请将cls参数递给@ click.option()装饰器,如: @click.option('--option1', cls=PythonLiteralOption,...这是有效,因为click是一个设计良好OO框架. @ click.option()装饰器通常实例化click.Option对象,但允许使用cls参数覆盖此行为.因此,从我们自己类中继承click.Option...并过度使用所需方法是一个相对容易事情.

    7.7K30

    unittest框架核心要素及应用

    1. unittest核心要素 unittest介绍 测试框架,不仅仅用于单元测试 python自动测试包 用法和django.test.TestCase类似 1.1【知道】unittest介绍和核心要素...运行容器中测试用例 runner = unittest.TextTestRunner() runner.run(suite) 注意:只能通过命令运行 python xxx.py 1.3...容器,容器添加测试用例 # 默认找指定路径下,所有test开头文件 # 参数1:路径,参数2:指定文件 suite = unittest.defaultTestLoader.discover...运行,同时生成测试报告 # 参数1:生成文件注释, 参数2:生成文件filename, 参数3:生成report文件存储路径 runner.report('报告描述必须有,在报告中显示为用例名称...运行,同时生成测试报告 # 参数1:生成文件注释, 参数2:生成文件filename, 参数3:生成report文件存储路径 runner.report('登陆', '美多登陆测试报告

    43710

    pytest测试框架和unittest_python性能测试框架

    这里预期结果一定要针对需求/设计逻辑去写,而不是针对程序实现去写,否则单元测试就失去意义,照着错误实现设计出case也很可能是错 单元测试框架 Unittest python内置标准类库...是用来测试python单元测试覆盖率 代码覆盖率也被用于自动化测试和手工测试来度量测试是否全面的指标之一,应用覆盖率思想增强测试用例设计 单元测试覆盖类型: 语句覆盖 条件覆盖...判断覆盖 路径覆盖 unittest介绍 python自带单元测试框架,常用在单元测试 在自动化测试中提供用例组织与执行 提供丰富断言方法-验证函数等功能 加上HTMLTestRunner可以生成...所有的断言方法都有一个msg参数,如果指定msg参数值,则将该信息作为失败错误信息返回、 序号 断言方法 断言描述 1 assertEqual(arg1,arg2,msg=None) 验证arg1=...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站立刻删除。

    60820

    聊聊 Python 单元测试框架(一):unittest

    的确,作为 Python 标准库,它很优秀,并被广泛用于各个项目。但你知道吗?其实在 Python 众多项目中,主流单元测试框架远不止这一个。...本系列文章将为大家介绍目前流行 Python 单元测试框架,讲讲它们功能和特点并比较其异同,以让大家在面对不同场景、不同需求时候,能够权衡利弊,选择最佳单元测试框架。...discover 通过 -s 参数指定要自动发现目录, -p 参数指定用例文件名称模式 python -m unittest discover -s project_directory -p "test...八、小结 unittest[25] 作为 Python 标准库提供单元测试框架,使用简单、功能强大,日常测试需求均能得到很好满足。在不引入第三方库情况下,是单元测试不二之选。...在下篇文章中,我们介绍第三方单元测试框架 nose 和 nose2,讲讲它对比于 unittest 有哪些改进,以至于让很多开发人员优先选择了它。

    66520

    Flask 使用unittest进行单元测试

    测试分类: 测试从软件开发过程可以分为:单元测试、集成测试、系统测试等。在众多测试中,与程序开发人员最密切就是单元测试,因为单元测试是由开发人员进行,而其他测试都由专业测试人员来完成。...python中assert断言是声明布尔值为真的判定,如果表达式为假会发生异常。单元测试中,一般使用assert来断言结果。...单元测试基本写法: 首先,定义一个类,继承自unittest.TestCase import unittest class TestClass(unitest.TestCase): pass...,编写测试代码 import unittest class TestClass(unittest.TestCase): #该方法会首先执行,相当于做测试前准备工作 def setUp...通过postman测试接口这三种情况是可以,但是如果每次都要手动去进行这样单元测试,就会感觉很麻烦了。 那么下面可以这三种情况写成单元测试代码,来避免重复测试。

    2.9K20

    Python单元测试报告框架

    如果你是Java栈同学,那么你可能知道extent report测试报告框架。而Python你可能知道HTMLTestRunner测试报告框架。...原因很简单,因为与Extent Report框架相比,HTMLTestRunner在界面的优越性上面还是有不少差距,而PyTestReport则意在成为Python语言中Extent Report。...setup.py build python setup.py install 使用 PyTestReport可用通过多种方式运行,分别如下: •单元测试•lib库引入(后续支持)•命令行(后续支持)•...REST API(后续支持) 单元测试使用样例 import unittest import pytestreport class MyTest(unittest.TestCase): def...注意:这种方式执行时,如果使用Pycharm等IDE,确保不是以IDE内建单元测试框架来执行;或者直接通过命令行来执行。

    1.2K40

    聊聊 Python 单元测试框架(二):nose 和它继任者 nose2

    nose[1] 是一个第三方单元测试框架,它完全兼容 unittest,并且号称是一个更好用测试框架。...得益于 nose 丰富插件生态,当 nose 本身不能够完全满足我们测试需求时,可以通过安装插件,并在 nosetests 命令行指定该插件所提供特定参数即可非常容易使用插件。...unittest.TestCase 测试类中使用 配置化 nose 期望所有插件配置通过命令行参数进行配置 nose2 则通过配置文件进行控制,以最小化命令行参数让人读得更舒服 更多对比详见 官方文档...同时又引入插件体系,进一步单元测试框架能力提升了一个大大台阶,这让很多在基础测试功能之上高阶功能实现和共享成为了可能。也难怪有众多开发者对它们情有独钟。...References [1] nose: https://nose.readthedocs.io/en/latest/ [2] unittest.TestCase: https://docs.python.org

    1.2K40

    Python unittest 简单实现参数方法

    Python unittest 理论上是不建议参数驱动,其用例应该专注单元测试,确保每个method逻辑正确。 引用Stack Overflow一个答案, “单元测试应该是独立,没有依赖项。...这确保了每个用例都有非常具体而专一测试反应。传入参数会破坏单元测试这个属性,从而使它们在某种意义上无效。使用测试配置是最简单方法,也是更合适方法,因为单元测试不应该依赖外部信息来执行测试。...利用类属性 这种方法可以不依赖其他第三方库,而且可以参数化应用到setUpClass 和setUp方法中。 即可以顺利解决一个web 测试脚本cross-browser验证问题。...您可能感兴趣文章: python单元测试unittest实例详解 python unittest实现api自动化测试 Python单元测试框架unittest使用方法讲解 深入理解Python单元测试...unittest使用示例 利用Python中unittest实现简单单元测试实例详解 详解Python之unittest单元测试代码

    1.4K31

    Python接口自动化之unittest单元测试

    访问接口过程封装在函数里面; 接口测试就变成了单元测试单元测试就是通过参,对某个模块、某个类、某个函数进行结果输出后验证测试。 2 为什么要做单元测试?...Python里有两个单元测试类: 1.Unittest(Python自带); 2.Pytest(下载安装); 前者多用于接口自动化项目用,后者多用于WEB自动化项目、APP自动化项目。...二、unittest模块说明 1 unittest简介 unittest是Python自带单元测试框,具备编写用例、组织用例、执行用例、输出报告等自动化框架条件,可以用来作自动化测试框架用例组织执行框架...三、unittest单元测试 1 实现思路 1.导入unittest模块、 被测文件或者其中类; 2.创建一个测试类,并继承unittest.TestCase方法; 3.重写setUp和tearDown...(unittest.TestCase): def setUp(self): print("开始准备执行测试用例!")

    1.1K20

    Python 单元测试 & 文档测试

    1.1 单元测试 1.1.1 单元测试编写 单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验测试工作。 编写一个Dict类,这个类行为和dict一致,但是通过属性来访问。...):     #测试类从unittest.TestCase继承    def test_init(self):            #不是以test开头方法不被执行        d = Dict(...() & tearDown() 这两个方法分别在单元测试中每个测试方法前后被执行。...并且,Python内置“文档测试”(doctest)模块可以直接提取注释中代码并执行测试。 doctest严格按照Python交互式命令行输入和输出来判断测试结果是否正确。...只有在命令行直接运行时,才执行doctest。所以,不必担心doctest会在非测试环境下执行。

    1.1K10

    Python unittest 框架,强大测试利器

    总的来说,单元就是人为规定最小被测功能模块。unittest 框架作为 Python 强大单元测试工具,在软件测试中发挥着重要作用。...Test Fixture(测试夹具)测试夹具在单元测试中起着至关重要作用。它主要负责为测试用例提供一个稳定、一致测试环境,包括环境搭建(setUp)和销毁(tearDown)。...可以通过命令行参数来指定特定目录进行测试用例自动发现。...执行指定用例指定测试模块:可以通过命令行参数指定要执行测试模块。例如,运行python -m unittest test_module命令,将会执行名为test_module模块中所有测试用例。...unittest 框架作为 Python 内置单元测试框架,具有广泛应用前景。

    11510

    unittest自动化测试框架_unittest批量加载用例

    python 里面的单元测试框架除了 unittest,还有一个 pytest 框架,这个实际上用比较少,后面有空再继续介绍和分享。...import unittest class TestDemo(unittest.TestCase): def setUp(self): print("setUp") 复制代码...): def test_case1(self): print('test_case1') 复制代码 8.unittest.main():一个单元测试模块变为可直接运行测试脚本...: unittest.Testcase 自己创建单元测试类都要继承它,它是所有单元测试基类 setUp 用于每个测试用例执行前初始化工作 所有类中方法入参为...当方法体内调用了 self.skipTest(reason) 方法,该测试用例还是会调用 setUp() 和 tearDown() 六、总结 本期,我们对Python提供unittest单元测试模块

    78230
    领券