У меня есть следующая проверка тестового кода для повышения исключения в функции. Я ожидаю, что тест пройдет, но вместо этого указывается ошибка. Вот тестовый код:
import unittest
# define a user-defined exception
class MyException(Exception):
def __str__(self):
return repr("ERROR: Just raised my exception!")
# this is my main class with a method raising this exception
class MyMainObject(object):
def func(self):
raise MyException()
# the test class
class TestConfig(unittest.TestCase):
def test_1(self):
other = MyMainObject()
self.assertRaises(MyException, other.func())
# calling the test
if __name__ == '__main__':
unittest.main()
Когда other.func()
вызывается в инструкции assert, MyException
поднимается (можно легко проверить). Итак, тест assertRaises
должен пройти тест, так как other.func()
выходит с ошибкой MyException
, НО:
....
MyException: 'ERROR: Just raised my exception!'
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED (errors=1)
Я не вижу что-то не так, поэтому я был бы признателен за некоторые сведения об этой проблеме.