我需要使用unittest编写测试来检查错误消息的内容。这个测试需要适用于python2.7和python3.4。最初,我的测试看起来像这样:
class MyFuncTestCaes(TestCase)
def test_my_func(self):
with self.assertRaises(TypeError) as context:
my_func()
self.assertIn("some message", context.exception.message
这适用于Python2.7,但不适用于Python3.4 - message
上似乎不再有exception
属性。如何修改此测试以使其适用于两个版本的Python?
答案 0 :(得分:0)
想出来。 assertRaisesRegexp
适用于Python2.7和Python3.4,所以我可以做,确保转义我需要检查的字符串:
class MyFuncTestCaes(TestCase)
def test_my_func(self):
with self.assertRaisesRegexp(TypeError, re.escape("some message")) as context:
my_func()