assertRaises () в тестовых случаях, который вызывает несколько исключений - PullRequest
0 голосов
/ 17 сентября 2018

Возможно ли использовать assertRaises с несколькими типами исключений.Что-то вроде

assertRaises(RuntimeError, "error message")
assertRaises(Exception, "exception message")

обе эти ошибки происходят в моем коде в разных местах с одним и тем же вызовом.

Как я могу написать одиночный оператор assertRaises для обработки обоих.

Как вы можете себе представить, тестовый блок завершается неудачно, когда упоминается только одно из исключений.

1 Ответ

0 голосов
/ 17 сентября 2018

Прямо из документов :

Проверка того, что возникает исключение, когда вызывается вызываемый с любым позиционным аргументом или аргументом ключевого слова, которые также передаются assertRaises ().Тест проходит, если возникло исключение, является ошибкой, если возникло другое исключение, или завершается неудачей, если не возникло исключение. Чтобы перехватить любую группу исключений, кортеж, содержащий классы исключений, может быть передан как исключение.

Итак, ваш код должен выглядеть как

assertRaises((RuntimeError, IndexError), "error message")
...