我在单元测试中使用assertRaises来测试特定异常的引发。在
assertRaises(IOError, testToRun, passedValues)
虽然我需要捕获的一些异常有特定的错误号(errno),所以我不想收集基本异常,而是想捕获与该异常相关的特定错误号。类似这样的事情,虽然显然行不通:)
^{pr2}$当我想捕获特定编号的异常时,我已经使用:-在
try:
testToRun(passedValues)
except IOError, e:
if e.errno == 2:
pass
else:
raise
我确定这不是完美的,但它是有效的,但我想知道是否有可能使用资产加薪来做同样的事情是一个更紧凑的方式。在
谢谢。在
您还可以使用当前代码创建一个新的TestCase函数:
然后像其他任何
^{pr2}$assert
方法一样使用它:您还可以使用contextlib.contextmanager很容易地将其转换为上下文管理器
从2.7开始,可以将^{} 与上下文管理器一起使用:
相关问题 更多 >
编程相关推荐