我正在尝试修正一个测试用例,如果出现错误则会通过该测试用例。虽然该类引发了自定义错误。
以下是原始类中引发的错误。
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
如何让它捕获自定义错误消息。
答案 0 :(得分:0)
首先看一下你的模块,它们应该是定义了MultipleObjectsReturned异常的地方。尝试寻找下面的东西。它只是一个例外,因为它继承自Exception类。
class MultipleObjectsReturned(Exception):
现在您需要为模块继承此特定异常以了解它。
from somewhere import MultipleObjectsReturned
成功导入后,您可以为它加注,因为它是自定义异常,但不要将其用作字符串,因为它是一个类。
def test_get(self):
with self.assertRaises(MultipleObjectsReturned):
self.yt.get()
注意删除了引号。