addCleanUp vs tearDown

ale*_*cxe 30 python unit-testing python-unittest

最近,Ned Batchelder 在PyCon 2016的演讲中指出:

如果您正在使用unittest编写测试,请务必使用addCleanup,这比使用 它要好得多tearDown.

到目前为止,我从未使用addCleanup()并习惯了setUp()/ tearDown()用于测试"设置"和"拆除"阶段的方法.

我为什么要改用addCleanup()替代的tearDown()


最近还在Robert Collins播客的Python单元测试中进行了讨论.

unu*_*tbu 36

根据addCleanup文档字符串:

即使setUp失败也会调用清理项目(与tearDown不同)

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


Rap*_*mès 6

addCleanup()即使其中一个失败,它们也会运行,即使setUp()失败也会运行.你还应该考虑使用pytest.