Я определил класс исключений SpamException
в модуле spam
. Теперь я хочу протестировать функцию spam_function
, которая вызывает это исключение. Поэтому я написал следующий доктест.
>>> spam_function()
Traceback (most recent call last):
....
SpamException
Тест проходит успешно на Python 2.x, но на Python 3.x тест терпит неудачу. Следующий тест работает на Python 3.x.
>>> spam_function()
Traceback (most recent call last):
....
spam.SpamException
Заметным отличием здесь является включение имени модуля в имя исключения. Итак, как я могу написать doctest, который работает как на Python 2.x, так и на 3.x?