我在單元測試中使用assertRaises來測試引發特定異常。在單元測試中使用帶assertRaises的errno
assertRaises(IOError, testToRun, passedValues)
雖然一些我需要捕捉異常的具有特定的錯誤號(錯誤),所以不是收集基礎例外,我想捕獲與該異常的特定錯誤編號。像這樣的東西,但它顯然是行不通的:)
assertRaises(IOError.errno(2), testToRun, passedValue)
爲了解決這個問題,當我想捕捉specificly編號例外,我一直使用: -
try:
testToRun(passedValues)
except IOError, e:
if e.errno == 2:
pass
else:
raise
我敢肯定它不是完美的,但它的工作原理,但想知道是否有可能使用assertRaises來做同樣的事情是一個更緊湊的方式。
謝謝。
感謝您的答覆。我不熟悉上下文管理器,但會閱讀它。 – user788462 2012-04-16 04:00:40