Когда выполняется unittest.addCleanup ()? - PullRequest
0 голосов
/ 09 мая 2018

У меня есть некоторые сомнения относительно addCleanup () -

  1. Когда addCleanup () будет выполняться, только если в каких-либо шагах произошел сбой или он будет выполнен в обычных сценариях (когда сбоя нет)?
  2. Если в тесте есть какой-то сбой, будет вызвана tearDown (), но если некоторые шаги в tearDown () не пройдут, можем ли мы добавить addCleanup () в tearDown () для вызова какой-либо функции, которая может выполнить надлежащую очистку?

1 Ответ

0 голосов
/ 05 февраля 2019

Добавьте функцию, которая будет вызываться после tearDown (), для очистки ресурсов, используемых во время теста. Функции будут вызываться в обратном порядке в порядке их добавления (LIFO).

Они вызываются с любыми аргументами и аргументами ключевых слов, передаваемыми в addCleanup () при их добавлении. Если setUp () завершается ошибкой, то есть tearDown () не вызывается, все добавленные функции очистки будут вызываться.

addCleanup (function, *args, **kwargs)
...