Я тестирую радиус круга с помощью каркаса unittest в Python. Если радиус не является числовым значением c, то я поднимаю и исключение с пользовательским сообщением.
Файл: circle.py
class Circle():
def __init__(self, radius):
if not isinstance (radius, (int,float)):
raise TypeError('radius must be a number')
else:
self.radius = radius
Файл: test_circle.py
import unittest
from circle import Circle
class CircleTest(unittest.TestCase):
def test_radius(self):
c1 = Circle(2.5)
self.assertEqual(c1.radius, 2.5)
def test_radius_type(self):
self.assertRaises(TypeError, Circle, 'hello')
if __name__ == "__main__":
unittest.main()
Теперь я могу проверить возникшее исключение. Но я также хочу выяснить, является ли сообщение, переданное в исключении, точным или нет. Кто-нибудь может подсказать, как проверить и проверить сообщение, переданное в исключении в unittest в Python?