Я использую Test::Unit::TestCase
для написания некоторых модульных тестов. В настоящее время у меня есть функция setup
, которая перемещает и изменяет некоторые файлы и папки на диске. (Это неизбежное зло на данный момент.) Если тест завершается неудачей, метод teardown
не вызывается, оставляя файлы и папки на пути. В следующий раз, когда я запускаю тест, он жалуется, что такая-то папка уже существует (Errno::EEXIST
), что заставляет меня остановиться и избавиться от оставшихся файлов.
Как мне ensure
, чтобы teardown
всегда работал? (ensure
- это то же самое, что и finally
в некоторых других языках.)