我创建了一个类(派生自Exception
):
class InvalidFilterException(Exception):
#some code here
super().__init__(message)
现在,当我在此模块上运行测试时,使用unittest.Testcase
,运行
assertRaises(Exception, InvalidFilterException, arg1, arg2)
给出错误:
AssertionError: Exception not raised by InvalidFilterException
有人可以告诉我,我应该将Exception
替换为assertRaises
中的第一个参数,以便此测试通过吗?
我也尝试使用InvalidFilterException
作为参数,但也失败了,输出相同。
答案 0 :(得分:0)
在你的情况下,你正在尝试InvalidFilterException,因为assertRaises的第二个参数是你想要测试的可调用的。
你需要使用你的例外...
assertRaises(InvalidFilterException, do_something, arg1, arg2)
或
with assertRaises(InvalidFilterException):
do_something(arg1, arg2)
do_something是您需要测试的函数或可调用函数。