【问题标题】:When is unittest.addCleanup() executed?unittest.addCleanup() 什么时候执行?
【发布时间】:2018-05-09 18:59:35
【问题描述】:

我对 addCleanup() 有一些疑问 --

  1. addCleanup() 什么时候执行,只有在任何步骤失败的情况下,还是在正常情况下也会执行(没有失败的时候)?
  2. 如果测试失败,会调用tearDown(),但是如果tearDown()中的某些步骤失败,我们可以在tearDown()中添加addCleanup()来调用一些可以进行适当清理的函数吗?李>

【问题讨论】:

  • 你在哪里看到这个addCleanup()函数?你在写测试吗?
  • 是的,我正在尝试添加我的测试,但不确定在哪里/如何实现它,因此问题
  • 我写了很多python单元测试,从来没有见过addCleanup()。您在哪里读到或看到过它?

标签: python python-unittest


【解决方案1】:

在 tearDown() 之后添加一个要调用的函数,以清理测试期间使用的资源。 函数的调用顺序与添加顺序相反(LIFO)。

当它们被添加时,它们会使用传递给 addCleanup() 的任何参数和关键字参数来调用。 如果 setUp() 失败,意味着 tearDown() 没有被调用,那么任何添加的清理函数仍然会被调用。

addCleanup (function, *args, **kwargs)

【讨论】:

    猜你喜欢
    • 2012-10-24
    • 1970-01-01
    • 1970-01-01
    • 2017-02-20
    • 2016-01-07
    • 1970-01-01
    • 2013-05-01
    • 2019-06-16
    • 2015-03-03
    相关资源
    最近更新 更多