Остановить выполнение тестов, если программа установки вызывает исключение в Python unittest

#python #testing

#python #тестирование

Вопрос:

У меня есть этот тестовый класс:

 class mytest(unittest.TestCase):
    def setUp(self):
        os.mkdir(...)
        ...

    def tearDown(self):
        shutil.rmtree(...)

    def test_one(self):
        ...

    def test_two(self):
        ...
  

Если что-то не удается после mkdir запуска при запуске setUp of test_one , оно все равно попытается запустить setUp of test_two . На этом этапе я получу сообщение об mkdir ошибке, потому rmtree что не запускался.

Есть ли какой-либо способ сообщить Python unittest прекратить выполнение текущего теста в случае setUp сбоя? Я не собираюсь останавливаться на обычном сбое теста.

Комментарии:

1. это хакерство, но вы можете просто перехватывать исключения в своем setUp методе и соответственно завершать работу

Ответ №1:

Добавьте вызов сбоя в метод установки.

 def setUp(self):
    try:
        somethingThatMightFail()
    except:
        self.fail()
  

Комментарии:

1. Это только прерывает каждый отдельный настраиваемый тест. Я ищу способ для обстоятельств одной установки прервать все другие тесты и настройки. Я думаю, что OP тоже этого хотел, но в вопросе есть некоторая двусмысленность.