0
以下では、テストは失敗し、msg
パラメータを出力します。しかし、それはしません。Pythonの `unittest`` assertRaises`メソッドで `msg`パラメータを出力する方法は?
with self.assertRaises(ZeroDivisionError, msg="Unexpected denominator"):
1/1
このパラメータ(msg
)は、他のすべてのassert*
方法で動作します。とても基本的なものがunittest
で壊れる可能性は非常に低いようですので、どうしたらいいですか?ここで
は、問題を示し、完全なプログラムです:
#!/usr/bin/env python2
import unittest
class TestAssertRaisesMsgParam(unittest.TestCase):
def test_assert_raises_msg(self):
"""
Test unittest `assertRaises` msg param is printed
"""
with self.assertRaises(ZeroDivisionError, msg="Unexpected denominator"):
1/1
if __name__ == '__main__':
unittest.main()
はここにそれと私の対話です:
$ ls -l assertRaises.py
-rwxr-xr-x 1 tom users 440 Jun 10 14:04 assertRaises.py
$ python -m unittest assertRaises
F
======================================================================
FAIL: test_assert_raises_msg (assertRaises.TestAssertRaisesMsgParam)
----------------------------------------------------------------------
Traceback (most recent call last):
File "assertRaises.py", line 14, in test_assert_raises_msg
1/1
AssertionError: ZeroDivisionError not raised
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (failures=1)
そして、いくつかのシステム情報:
$ /usr/bin/env python2
Python 2.7.13 (default, Mar 22 2017, 12:31:17) [GCC] on linux2
$ uname -a
Linux ... 4.4.62-18.6-default #1 SMP Fri Apr 21 16:14:48 UTC 2017 (84f9824) x86_64 x86_64 x86_64 GNU/Linux
うーんを。私は別の結果を得る。私はプラットフォームの問題のようなものだと思う。 –