2 つの整数が等しいかどうかをテストする単体テストを実行すると、失敗を報告する単体テストではなくアサーション エラー例外が発生し、次のテストに進みます。これがテストコードです(要点を証明するために大幅に簡略化されています)。
import unittest
class TestClass(unittest.TestCase):
def test_method(self):
myVariable = 1
self.assertTrue(myVariable==0)
if __name__ == '__main__':
unittest.main()
トレースバックは次のとおりです。
builtins.AssertionError: False is not true
File "C:\Dev\Volleyball\test.py", line 10, in <module>
unittest.main()
File "C:\Program Files\python32\Lib\unittest\main.py", line 124, in __init__
self.runTests()
File "C:\Program Files\python32\Lib\unittest\main.py", line 270, in runTests
self.result = testRunner.run(self.test)
File "C:\Program Files\python32\Lib\unittest\runner.py", line 168, in run
test(result)
File "C:\Program Files\python32\Lib\unittest\suite.py", line 67, in __call__
return self.run(*args, **kwds)
File "C:\Program Files\python32\Lib\unittest\suite.py", line 105, in run
test(result)
File "C:\Program Files\python32\Lib\unittest\suite.py", line 67, in __call__
return self.run(*args, **kwds)
File "C:\Program Files\python32\Lib\unittest\suite.py", line 105, in run
test(result)
File "C:\Program Files\python32\Lib\unittest\case.py", line 498, in __call__
return self.run(*args, **kwds)
File "C:\Program Files\python32\Lib\unittest\case.py", line 446, in run
self._executeTestPart(testMethod, outcome, isTest=True)
File "C:\Program Files\python32\Lib\unittest\case.py", line 391, in _executeTestPart
function()
File "C:\Dev\Volleyball\test.py", line 7, in test_method
self.assertTrue(myVariable==0)
File "C:\Program Files\python32\Lib\unittest\case.py", line 527, in assertTrue
raise self.failureException(msg)
何か間違ったことをしていますか、それともテスト アサーションのしくみを誤解していますか?
記録のために、私は Windows 7 で Python 3.2.1 を使用しています。
ティア、アラン