ユニットテストでassertRaisesを使用して、特定の例外の発生をテストしています。ユニットテストでassertRaisesでerrnoを使用する
assertRaises(IOError, testToRun, passedValues)
私はキャプチャする必要がある例外のいくつかは、特定のエラー番号(errnoに)を持っているので、代わりにベースの例外を収集し、私はその例外に関連する特定のエラー番号をキャプチャしたいと思いますけれども。
try:
testToRun(passedValues)
except IOError, e:
if e.errno == 2:
pass
else:
raise
私は確信している - :私は、私が使用してきたspecificly番の例外をキャプチャしたいときに、このような何かが、それは明らかに:)
assertRaises(IOError.errno(2), testToRun, passedValue)
は、この問題を回避するには動作しませんが、それは完璧ではありませんが、それは動作しますが、同じことを行うassertRaisesを使用することが可能かどうかは、よりコンパクトな方法です。
ありがとうございました。
with self.assertRaises(SomeException) as cm:
do_something()
the_exception = cm.exception
self.assertEqual(the_exception.error_code, 3)
返信ありがとうございます。私はコンテキストマネージャーに慣れていないが、それを読むだろう。 – user788462