2017-06-10 12 views
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 

答えて

1

あなたのコードは私の上で動作しますボックス:

$ python -m unittest tester 
F 
====================================================================== 
FAIL: test_assert_raises_msg (test.TestAssertRaisesMsgParam) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "C:\Users\danth\src\test.py", line 12, in test_assert_raises_msg 
    1/1 
AssertionError: ZeroDivisionError not raised : Unexpected denominator 

---------------------------------------------------------------------- 
Ran 1 test in 0.001s 

FAILED (failures=1) 

あなたはこのようなあなたのテストを実行していることを確認してください:

python -m unittest name_of_test_file 
+0

うーんを。私は別の結果を得る。私はプラットフォームの問題のようなものだと思う。 –

関連する問題