在Python中进行单元测试,如何检查自定义错误消息

时间:2015-10-04 14:55:53

标签: python unit-testing

我正在尝试修正一个测试用例,如果出现错误则会通过该测试用例。虽然该类引发了自定义错误。

以下是原始类中引发的错误。

else:
            raise MultipleObjectsReturned("Multiple videos met this criteria.")

现在当我试图抓住它时,它会返回错误。

def test_get(self):

        with self.assertRaises('MultipleObjectsReturned'):
            self.yt.get()

错误:

 File "C:\Python27\lib\unittest\case.py", line 117, in __exit__
    if not issubclass(exc_type, self.expected):
TypeError: issubclass() arg 2 must be a class or tuple of classes

如何让它捕获自定义错误消息。

1 个答案:

答案 0 :(得分:0)

首先看一下你的模块,它们应该是定义了MultipleObjectsReturned异常的地方。尝试寻找下面的东西。它只是一个例外,因为它继承自Exception类。

class MultipleObjectsReturned(Exception):

现在您需要为模块继承此特定异常以了解它。

from somewhere import MultipleObjectsReturned

成功导入后,您可以为它加注,因为它是自定义异常,但不要将其用作字符串,因为它是一个类。

def test_get(self):
        with self.assertRaises(MultipleObjectsReturned):
            self.yt.get()

注意删除了引号。