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

Unittest的subTest不能和Pytest一起工作,还是我疯了?

Unittest是Python内置的一个单元测试框架,而Pytest是一个功能更强大且灵活的第三方测试框架。虽然它们都可以用于测试代码,但是在同一个测试中同时使用unittest的subTest和Pytest可能会导致冲突和不兼容的情况。

Unittest的subTest是用于在一个测试方法中执行多个子测试的功能。它允许我们将多个测试用例作为子测试进行执行,并且可以方便地检测和报告每个子测试的结果。然而,subTest是unittest框架的一部分,其使用方式和语法是特定的,并且在使用时需要遵循unittest框架的规范。

Pytest是一个功能强大的、提供更多扩展性和灵活性的Python测试框架。它可以与unittest框架兼容,但它有自己独特的语法和使用方式。Pytest提供了更简洁和灵活的测试方法,并且支持使用装饰器、参数化测试、自动发现测试文件等高级功能。

由于unittest的subTest和Pytest有不同的语法和使用方式,因此在同一个测试中同时使用它们可能会导致语法错误或者执行不符合预期的结果。如果你想在使用Pytest的同时利用unittest的subTest功能,建议你选择一种框架,并按照该框架的规范进行测试编写和执行。

综上所述,Unittest的subTest和Pytest是不同的测试框架,使用它们需要按照各自的规范进行操作。因此,在同一个测试中同时使用它们可能会导致冲突和不兼容的情况。如果你需要使用它们的功能,建议选择其中一种测试框架,并按照该框架的规范进行开发和执行测试。

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

相关·内容

Pytest学习(三) - setupteardown使用

本文共1251字 阅读约需3分钟 一、前言 从文章标题可以看出,就是初始化释放操作,根据我java习惯来学习pytest,个人感觉没差太多,理解上也不是很难。...() 个人始终觉得unittestJunit像极了。...、teardown 总感觉学习pytest像是在学习testng一样,难道是错觉吗,啊啊啊啊,不能吧。...四、unittest示例 unittestsetupClassteardownClass,需要配合@classmethod装饰器一起使用,也就是我们java说注解呀,这块是翻译给java学Python...五、pytest示例 函数级setup_function、teardown_function只对函数用例生效,而且不在类中使用 依旧还是把类函数都有的情况放在一起,示例代码如下: # -*- coding

84750

聊聊 Python 单元测试框架(三):pytest

社区繁荣 前面介绍 unittest nose 一样,我们将从如下几个方面介绍 pytest 特性。...相比于 nose unittestpytest 允许用户使用更简单方式编写测试用例,又能得到一个更丰富友好测试结果。...三、用例发现执行 unittest nose 所支持用例发现执行能力,pytest 均支持。...五、跳过测试预计失败 pytest 除了支持 unittest nosetest 跳过测试预计失败方式外,还在 pytest.mark 中提供对应方法: 通过 skip[12] 装饰器或...除了支持 unittest TestCase.subTest,还支持一种更为灵活子测试编写方式,也就是 参数化测试,通过 pytest.mark.parametrize 装饰器实现。

1.9K40
  • 单元测试在深度学习中应用 | 附代码「AI产品工程落地」

    这可能看起来很琐碎,你们中一些人可能会认为在测试这个方面很迂腐,但是不知道有多少次因为搞不清楚填充函数是如何工作而导致了形状错误。...这是需要强调一点: 始终在训练测试数据上运行测试 仅仅因为你代码在数据一个部分上工作,并不能保证在另一个部分上不存在未检测到bug。对于数据增强,我们甚至希望为每个部分断言代码不同行为。...因此,测试你数据集在单进程多进程模式下是否与dataloader一起工作是一个好主意。...如果你不能确保你模型能到边界情况,你如何测试你模型一个罕见边界条件?如何确保模型输出是确定性?你如何知道一个失败测试是由于随机偶然还是由于你引入bug ?...unittest包发现并运行unittest.TestCase所有子元素。因为这包括不能实例化抽象基类,所以我们总是会有一个失败测试。 解决方案是由一个流行设计模式提出

    1.6K20

    pytest测试框架常用功能_unittest批量加载用例

    Pytest框架Unittest框架区别 重点:配套学习资料视频教学 ---- 前言 大家好是测试达人,最近我会更新一系列pytest框架全套教程,不比你在培训机构花几千块买ppt教程好吗...Pytest可以很好Jenkins进行持续集成。 Pytest可以allure生成非常美观测试报告。 在Pytest框架下可以执行Unittest框架用例。...Unittest支持自动化测试,测试用例初始化、关闭测试用例聚合等功能,它有一个很重要特性:它是通过类(class)方式,将测试用例组织在一起。...总结: Unittest:用例格式复杂,不能兼客Pytest用例。 Pytest:用例格式简单,可以兼容Unittest用例。...重点:配套学习资料视频教学 那么在这里也精心准备了上述大纲详细资料在下方链接如下 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    89530

    Python单元测试框架介绍

    背景   为啥把单元测试框架介绍放到这里讲,其实主要是想讲pytest框架应用。这也是应网友心声。其实pytest框架以前是用在实际项目中,只是一直没有将实践过程经验教训沉淀下来。...如今,还是写几篇关于pytest框架应用。但是,在这之前,你必须先了解一下python单元测试框架一些常识。   ...unittest支持自动化测试,测试用例初始化关闭,测试用例聚合等功能。unittest有一个很重要特性:它通过类(class)方式,将测试用例组织在一起。   ...pytest特性有: 1)支持用简单assert语句实现丰富断言,无需复杂self.assert*函数 2)自动识别测试模块测试函数 3)兼容unittestnose测试集 4)支持Python3...3、不需要main函数,pytest自动识别test_开头测试方法(用例)。 4、pytest兼容unittest框架代码,可以用来运行unittest测试用例。

    60521

    pytest框架从入门到精通

    iTesting,爱测试,爱分享 unittest是python自带单元测试框架,它封装好了一些校验返回结果方法一些用例执行前初始化操作,使得单元测试易于开展,因为它易用性,很多同学也拿它来做功能测试接口测试...,没有被大家挖掘出来,如此强大框架不应该被埋没,今天就带领大家深入pytest使用,共同领略pytest强大。...注意: (1).如果你想用pytest寻找整个文件夹下测试用例,那么文件须以test_开头或者以test结尾。 (2).测试类以Test开头,并且不能带有 init 方法。...记得上次直播分享unittest实现自动化框架吗,我们看看这个page: ?...举例来说,想初始化浏览器,但是不想每次测试运行都初始化,怎么办呢?可以用scope限制住。

    1.3K10

    Selenium 4 Python最佳测试框架

    前提 除了具有Python使用知识外,pytest不需要任何复杂东西。您所需要只是一个具有命令行界面,python软件包管理器开发IDE工作桌面。 pytest优缺点是什么?...你方便地编写测试用例,但比较难将这些测试用例与任何其他测试框架一起使用。 Pytest是最适合您Python测试框架吗?...TestCase子类中每个方法名称均以“test”开头。这使它们可以作为测试用例运行。您可以将加载方法TestSuite类用于该组并加载测试。您可以一起使用它们来构建自定义测试运行器。...Unittest是xUnit派生产品,其工作原理类似于其他xUnit框架。熟悉语法规范会让初学者觉得轻松一些。 可以以更简单方式运行各个测试用例,需要做就是在终端上指定名称。...尽管unittest是默认测试自动化框架,但是它工作原理命名约定与标准Python代码略有不同,这使它不是Python自动化测试首选框架。

    1.5K20

    做自动化测试选择Python还是Java?

    首先,语言本身无优劣,只不过是一种工具手段而已,无论是Java还是Python都能做自动化测试,没有最好语言,只有最合适语言,不能简单说哪门语言好哪门语言不行,而要基于实际应用场景进行分析。...测试行业学习编程语言用途主要是用来做自动化测试,比如Python技术栈会使用Requests、Unittest/Pytest等框架结合公司业务实现一套覆盖公司系统绝大部分接口自动化测试框架,然后做持续集成...JavaPython自动化测试技术栈对比: Python Java 接口自动化测试 Python+Requests+Unittest/Pytest+HTMLTestRunner/Allure Java...Python入手,主要有两点原因:第一,自动化测试目的是为了提升测试效率,将更多重复繁琐工作交给程序自动执行,我们就有更多时间去测试那些新功能,毕竟手工测试是发现Bug最快最多一种途径,自动化本质还是测试...脚踏实地,仰望星空,坨坨一起学习软件测试,升职加薪!

    91950

    python接口自动化测试(三)python框架unittest

    做测试大多数都知道测试接口工具及框架,工具比较常见有jmeterpostman;自动化框架一般有 unittestpytesttestng,其中unittestpytest是基于python...1、什么是unittest 官网是这么解释unittest 单元测试框架是受到 JUnit 启发,与其他语言中主流单元测试框架有着相似的风格。其支持测试自动化,配置共享关机代码测试。...理解:其实unittest框架就是有一套自己特有的规格,我们在使用时候需要遵循这个规格,它能是我们测试变得更简单,代码更好维护,复用性更强,呈现结果比原来更好 2、unittest组成部分...其实脚手架包含setupteardown两部分,在具体测试中一般会用这两部分来做初始化工作和测试完毕后垃圾数据清理工作 def setUp(self): #初始化 pass def...基类 class demo(unittest.TestCase): 测试套件 test suite 可以一起执行多个用例 if __name__ == "__main__": suit = unittest.TestSuite

    1.3K52

    如何使用Python进行单元测试

    前言 在日常工作中,是一名专业程序员。使用c++、c#Javascript。是一个开发团队一员,他们使用单元测试来验证我们代码是否按照它应该方式工作。...测试套件 单元测试词汇表最后一个术语是测试套件。测试套件是测试用例或测试套件集合。通常一个测试套件包含应该一起运行测试用例。 单元测试设计 测试用例应该被很好地设计。...总是尝试使用单个断言。 原因是,当断言失败时,测试用例执行就会停止。因此,您永远不会知道测试用例中下一个断言是否成功。 使用pytest进行单元测试 在上一节中,我们使用了unittest模块。...Python默认安装安装这个模块。unittest模块于2001年首次引入。基于Kent BeckEric Gamma开发流行Java单元测试框架JUnit。...这个代码覆盖率报告显示了您单元测试执行了哪些代码。 使用Coveragepytest-cov来创建代码覆盖率报告。覆盖率是度量代码覆盖率通用包。

    2.8K20

    深入探索Python中单元测试与TDD实践指南

    使用pytest优化单元测试虽然unittest是Python标准库中单元测试框架,但很多开发者更喜欢使用pytest,因为它提供了更简洁、灵活语法功能。...如果测试通过,它会输出一条简短消息,否则会显示详细错误信息。无论是使用unittest还是pytest,单元测试TDD都是提高代码质量可靠性重要工具。...这样,我们就可以确保我们代码在依赖外部模块时也能正常工作。总结在这篇文章中,我们深入探讨了Python中单元测试、测试驱动开发(TDD)、集成测试模拟重要性实践方法。...我们从基本单元测试开始,介绍了使用unittestpytest等库编写测试用例方法,并演示了如何使用TDD方式来开发测试代码,以及如何使用参数化测试来覆盖各种情况。...正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

    42720

    Python 自动化测试框架unittestpytest区别

    而这篇文章主要讲unittestpytest区别,pytest相对unittest而言,代码简洁,使用便捷灵活,并且插件很丰富。   ...Unittest vs Pytest   主要从用例编写规则、用例前置后置、参数化、断言、用例执行、失败重运行报告这几个方面比较unittestpytest区别:   用例编写规则   用例前置与后置条件...pytest更加方便快捷,用例格式简单,可以执行unittest风格测试用例,无须修改unittest用例任何代码,有较好兼容性。...() 接下来看pytest前后置: 1、我们都知道在自动化测试中都会用到前后置,pytest 相比 unittest 无论是前后置还是插件等都灵活了许多,还能自己用 fixture 来定义。...conftest.py配置需要注意以下点: # conftest.py配置脚本名称是固定不能改名称 # conftest.py与运行用例要在同一个pakage下,并且有__init__.py文件

    1.3K20

    《 python自动化框架pytest

    刚开始内心是拒绝想我用unittest也能完成自动化测试,干嘛要去学pytest呢? 最近看到越来越多招聘要求会pytest框架了,也有小伙伴出去面试说会unittest框架被鄙视。...根据pytest官方网站介绍,它具有如下特点: · 非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考 · 能够支持简单单元测试复杂功能测试 · 支持参数化parametrize,比unittest...(失败case重复执行) · pytest-html(完美html测试报告生成,失败截图展示) · allure2漂亮html报告展示 · 方便jenkins持续集成工具集成 · 支持运行由...nose, unittest, doctest框架编写测试case · 可以用来做webapp自动化(pytest+selenium/appnium)、接口(pytest+requests) 为什么这么好框架没多少人用...最主要原因是会的人少,网上大部分教程都是pythonunittest框架,初学者理所当然都是学习unittest框架了,由于网上中文教程(pytest官方文档英文版还是很全)资料少,现在可能还不是主流框架

    2.9K40

    web自动化测试入门篇07 ——— 用例编写技巧

    这里功能与场景可以理解为在自动化测试执行中需要验证是单个功能点还是一组业务流程,这个黑盒测试测试用例有点区别,正是因为自动化测试特性,可以帮助测试在极短时间内对某个所需测试业务流进行验证,...,覆盖范围与覆盖率应当遵从各自团队自动化测试需求与项目痛点来进行定义, 不能一概而论,比如A公司自动化测试解决是回归测试人手不足问题,那么覆盖范围与覆盖率应集中在主业务happy path上...这里以unittest来举例说明,参数化在这个库中可以使用subTest()方法类进行实现。...这里数据源可以是多种多样,具体是文件还是持久化则根据各自公司业务来决定。...大家在日常设计编写工作中如果可以按照上述这些原则与技巧进行执行,相信设计出来测试用例一定会有效提升后续对应测试工作效率。

    35650

    Pytest 高效测试 Python 代码

    本文中,云朵君将大家一起学习Python中最好用测试模块--Pytest,主要学习如下: Pytest优点 怎么保证测试无状态 怎么让重复测试更浅显易懂 怎么命名或自定义组进行分组测试 如何创建和维护可复用测试程序...skipxfail处理; 6、可以很好CI工具结合,例如jenkins 何为 Pytest 如果你曾经写过单元测试,那你应该用过 Python 中unittest模块,我们今天主角Pytest...然而,即使是一个小测试集也需要相当数量模板代码。 写一个测试套件,只是为了确保 unittest 在项目中正常工作。我们可能想写一个总是通过测试一个总是失败测试。...无论我们是有一个庞大遗留unittest套件,还是要从头开始一个新项目,pytest都能为我们提供不少帮助。...在本文中,云朵君大家一起学会了如何使用: 用于处理测试依赖性、状态可重用功能fixture 对测试进行分类并限制对外部资源访问标记 用于减少测试之间重复代码参数化 确定我们最慢测试持续时间

    39120

    pytestfixture怎么用?

    fixtureunittest是冲突。舍弃unittest只用pytest。 会遇到在很多用例当中,它前置条件是长得一样。用例写越来越多时候,肯定会遇到前置条件都差不多,大家差距不是很大。...在pytest中,环境准备环境清理是完全放在一起。在unittest中,它是两个都分开,一个是setUp,一个是tearDown,我们会定义两个函数。 在pytest中,只要一个函数就可以了。...这个文件就是个公有化文件。 conftest文件必须测试用例放在一起测试用例文件是同级。 fixture是一个函数。...yield print("****是function结束****") fixture功能ddt不能共用。...现阶段不能适用ddt,它有它自己方式来实现数据驱动。

    78520

    pytest环境准备与入门

    pytestunittest区别: 假如冒烟用例从2个添加到20个,就要手工添加/修改很多次。unittest没有提供机智选用例功能。...pytest有4个特点unittest不一样: ?...fixtures是pytest精髓所在,就像unittestsetupteardown一样,如果不学fixture那么使用pytest使用unittest是没什么区别的(个人理解)。...根据标签名过滤用例前提是能让pytest自动识别到测试用例,首先得知道是如何自动发现测试模块测试方法?才好继续做后续工作。 1.先知道它是如何收集测试用例? ?...小编直接输入pytest不能运行,提示没有模块,可能与pycharm版本或者pytest版本有关,也有可能是自己代码设计问题。 pytest可以设置用例顺序执行吗?

    91310

    Pytest系列(1) - 快速入门基础讲解

    https://www.cnblogs.com/poloyy/category/1690628.html 前言 目前有两种纯测试测试框架,pytestunittest unittest应该是广为人知...,而且也是老框架了,很多人都用来做自动化,无论是UI还是接口 pytest是基于unittest开发另一款更高级更好用单元测试框架 出去面试也好,跟别人说起来也好,pytest逼格明显高于unittest...(skip),或者对某些预期失败case标记成失败 支持重复执行(rerun)失败 case 支持运行由 nose, unittest 编写测试 case 可生成 html 报告 方便持续集成工具...文件名以 test_*.py 文件*_test.py 以 开头函数 test_ 以 开头类,不能包含 __init__ 方法 Test 以 开头类里面的方法 test_ 所有的包...注意 pytest 是可以兼容 unittest 脚本,之前写 unittest 用例也能用 pytest 框架去运行

    71820
    领券