我在单元测试中使用 assertRaises 来测试特定异常的引发。
assertRaises(IOError, testToRun, passedValues)
虽然我需要捕获的一些异常具有特定的错误号 (errno),但我不想收集基本异常,而是想捕获与该异常相关的特定错误号。像这样的东西,虽然它显然不起作用:)
assertRaises(IOError.errno(2), testToRun, passedValue)
当我想捕获我一直在使用的特定编号的异常时,为了解决这个问题:-
try:
testToRun(passedValues)
except IOError, e:
if e.errno == 2:
pass
else:
raise
我确信它并不完美,但它可以工作,但想知道是否可以使用 assertRaises 来做同样的事情,这是一种更紧凑的方式。
谢谢。