首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >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

复制
相关文章

相似问题

领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档