首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >addCleanup vs tearDown

addCleanup vs tearDown
EN

Stack Overflow用户
提问于 2016-05-30 21:50:19
回答 3查看 7.5K关注 0票数 38

最近,内德·巴切尔德在his talk at PyCon 2016期间注意到:

如果你正在使用unittest编写测试,那么一定要使用addCleanup,它比tearDown要好得多。

到目前为止,我还没有使用过addCleanup(),并且习惯了使用setUp()/tearDown()这对方法来测试“设置”和“拆卸”阶段。

为什么要切换到addCleanup()而不是tearDown()

最近在Python unittest with Robert Collins播客中也对此进行了讨论。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-30 21:53:22

根据addCleanup doc string

即使setUp失败,也会调用

清理项(与tearDown不同)

addCleanup可用于注册多个函数,因此您可以对要清理的每个资源使用单独的函数。这将使您的代码更具可重用性/模块化。

票数 46
EN

Stack Overflow用户

发布于 2016-05-30 21:54:26

即使其中一个方法失败,addCleanup()方法也会运行,即使setUp()失败也会运行。您还应该考虑使用pytest

票数 6
EN

Stack Overflow用户

发布于 2017-05-01 07:43:48

addCleanup的另一个好处是,它的工作方式完全符合您的预期。

例如,如果您在setUp函数中调用它,那么所有测试方法最终都将调用cleanup函数。

如果在测试方法中调用它,则只有此方法调用cleanup函数。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37534021

复制
相关文章
开发需求
计算器开发需求 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式,运算后得出结果,结果必须与真实的计算器所得出的结果一致 import re import functools def minus_operator_handler(formula): '''处理一
hankleo
2020/09/16
3790
腾讯云什么产品可以满足大型语言模型的开发需求?
腾讯云提供了多种产品和服务,可以满足大型语言模型的开发需求,以下是一些常用的产品和服务:
gavin1024
2023/05/18
9230
上亿商品的语言处理需求 | 京东AI NLP技术的研究与落地
从2010年起,深度神经网络开始在各个领域引发人工智能技术的重大突破。在语音识别领域,截止到2017年,借助于深度学习技术语音识别在Switchboard数据集上的词错误率下降到5.1%,基本可与人工识别相媲美;而在图像识别领域、机器翻译、语音合成技术等其他领域也取得了巨大进步,使得机器基本已经做到和人一样能听、能看、能说。随着人工智能技术这些领域的不断突破,人们也更期待看到自然语言处理技术(NLP)带来更多的创新。
京东技术
2018/07/30
1.1K0
上亿商品的语言处理需求 | 京东AI NLP技术的研究与落地
你给需求文档,AI就能帮你开发安卓App
就有一个叫做Text2App的“AI”,你“喂”给它一串文字需求,它就能直接给你“消化”成安卓应用!
量子位
2021/06/17
1.1K0
用于AI开发的5种最佳编程语言
你是一个对你下一个项目选择编程语言困惑的AI(人工智能)追求者吗?如果是这样,那么你来对地方了,因为在这里我们将看到AI开发最好的5种编程语言。
老人雨何
2018/01/29
3.4K0
2022 需求最大的 8 种编程语言
DevJobsScanner 在过去的 14 个月(从 2021 年 10 月到 2022 年 11 月)中分析了超过 1200 万个开发人员职位需求,并从其中挑选了明确需要编程语言的工作机会,得到了 2022 年最受欢迎的 8 种编程语言。
小林coding
2023/01/04
8830
2022 需求最大的 8 种编程语言
没有需求文档,拒绝开发?
在我们公司,需求都是开发口头去问产品,就直接开发了。产品不给写需求文档,开发和测试同学应该接受吗 ?
程序媛淼淼
2022/09/01
1K0
最适合AI开发的六种编程语言
AiTechYun 编辑:nanan 自从AlphaGo战胜柯洁,AI风头就一直无人能及。而对于开发者来说,AI是一个十分广阔的领域,很多编程语言都可以利用AI进行开发。下面是整理出的几种典型编程语言供大家参考: Python Python是AI领域中使用最广泛的编程语言之一,它简单易用,且可以无缝与数据结构和其他常用的AI算法一起使用。基于Python的很多有用的库都可以在AI中使用,例如Numpy提供科学的计算能力,Scypy的高级计算和Pybrain的机器学习。 Java Java也是AI项目的一
企鹅号小编
2018/01/19
1.7K0
最适合AI开发的六种编程语言
社交直播APP源码开发搭建的多种业态需求和功能需求
所谓的“一对多社交”,比如直播社交,这就是典型的一对多社交,一位主播对多位观众,通过弹幕和评论进行互动,如果有聊得开心的(打赏多的)可以再聊个私信什么的。
布谷鸟小刘
2021/07/23
6690
关于软件开发需求分析的分享
  软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
用户7053485
2020/03/12
1.5K0
【盘点】最适合AI开发的六种编程语言
自从AlphaGo战胜柯洁,AI风头就一直无人能及。而对于开发者来说,AI是一个十分广阔的领域,很多编程语言都可以利用AI进行开发。下面是整理出的几种典型编程语言供大家参考: Python Pytho
AiTechYun
2018/03/06
1.4K0
【盘点】最适合AI开发的六种编程语言
软件工程:需求开发阶段
需求开发阶段的主要任务就是分析问题,研究问题所发生的现实世界(即问题域),寻找实现软件系统与现实世界有效互动的办法,并严格描述该互动办法。而软件需求开发是一个连接现实世界与计算机世界的活动,是软件工程的起始阶段,设计、实现等后续阶段的正确性都以它的正确性为前提。如果需求开发过程中有错误未能解决,则其后的所有阶段都会受到影响,因此与需求有关的错误修复代价较高,需求问题对软件成败的影响较大。而我们之所以认识不到需求开发阶段的重要性主要是因为学校时间项目的特殊性,具体来说学校的课程设计或实训:
Here_SDUT
2022/09/19
2.2K0
软件工程:需求开发阶段
小智ai:chatgpt带来哪些新岗位的需求
ChatGPT作为一项重要的自然语言处理技术,已经在各个领域中产生了广泛的应用。这些应用也带来了新的就业机会和需求,以下是一些可能的新岗位:
用户10544499
2023/05/05
2560
为什么Python成了开发AI的主流语言?Java系列、Ruby等编程语言不行吗?
人工智能(AI)作为一项颠覆性的技术,正日益在各个领域展现出巨大的潜力和影响力。在AI开发中选择适合的编程语言至关重要。本文将探讨为什么Python成为开发AI的主流语言,同时分析Java系列和Ruby在这个领域的局限性。
海拥
2023/06/27
4080
为什么Python成了开发AI的主流语言?Java系列、Ruby等编程语言不行吗?
在线教育平台开发需求分析
随着互联网的不断发展,现代信息技术向教育行业迅速扩展,教育的方式也不再是传统面对面的书本传授了,线下模式正面临着前所未有的严峻挑战,同时也面临着前良好的发展机遇—在线教育平台开发需求旺盛。它打破了传统教育的局限,在高等教育、继续教育、在职教育乃至终身教育中发挥前所未有的作用。
万岳教育系统
2020/06/04
3.6K0
在线教育平台开发需求分析
基于契约的开发:通过明确需求优化软件开发流程
作者 | Naresh Jain 译者 | 明知山 策划 | 丁晓昀 独立开发和部署单个微服务的能力是成功采用微服务策略最关键的指标。然而,大多数团队在部署微服务之前必须经历大量的集成测试。这是因为集成测试已经成为识别微服务之间兼容性问题的必要条件,因为单元和组件或 API 测试没有覆盖微服务之间的交互。 首先,集成测试是一种发现兼容性问题的后期反馈机制。修复这些问题的成本随着发现时间的推移而成倍增加(如上图底部的热图所示)。 此外,这可能会导致客户端和服务端团队做大量的返工工作,严重影响特性交
深度学习与Python
2023/03/29
7850
基于契约的开发:通过明确需求优化软件开发流程
那些需要自己开发的安全需求(服务端)
最近在实施App安全方面的方案,下面是一些思考。有些安全方面的产品需要购买,本文中的却要自己集成。需要开发的组件很多,所以依个人经验,简单做了下分层,不包括App端和主机环境。
xjjdog
2019/07/10
5870
那些需要自己开发的安全需求(服务端)
SaaS企业要满足客户的定制开发需求吗?
本文作者 吴昊:腾讯SaaS加速器导师、纷享销客天使投资人、前执行总裁,具有20年企业信息化和6年SaaS营销团队创新经验。 前天和一个做SaaS的团队交流,他们处在我说的《SaaS创业路线图》中的“产品打磨”阶段 —— 产品已经做出来,也找到了少量试用客户。 这时候遇到一个大家常见的问题:目标客户提出的需求超越了我们初定的需求边界,要不要做定制开发?这个问题,不少创业公司都会遇到。每家都有难念的经,具体情况各不相同,今天我为大家写几条原则吧。 第一,明确自己是做产品的,还是做项目的。做项目的公司
腾讯SaaS加速器
2020/06/09
1.2K0
干货分享:五大最适合学习AI开发的编程语言
AI(人工智能)为应用开发者开创了一个全新的可能性。通过利用机器学习或深度学习,您可以生成更好的用户配置文件、个性化设置和推荐,或者整合更智能的搜索、语音界面或智能助手,或者以其他数种方式改进您的应用。你甚至可以构建看得懂、听得懂,并与人类互动的应用。准备学习AI的你,知不知道选择哪种编程语言合适呢?以下列举的五种编程语言,被认为是最适合用来学习AI。大家可以参考一下。
LiveEdu
2018/05/21
1.7K0
干货分享:五大最适合学习AI开发的编程语言
产品需求与项目需求的差异
产品周期要比项目周期长久,项目周期随着交付就结束了,后期或许会有维护阶段。产品则贯穿了整个产品的生命周期,从一个idea到落地,经过市场检验,中间也可能发生方向性调整等等,一直到产品退出市场,这个周期可能跟项目周期一样,也可能是拉长了的几个项目周期。
MavenTalker
2023/03/07
8140
产品需求与项目需求的差异

相似问题

Setuptools“开发”需求

127

如何开发AI脚本

31

iPhone开发的系统需求

33

iOS开发测试需求

14

CKAN扩展开发需求

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档