當我運行一個單元測試,在其中測試兩個整數相等時,我得到一個斷言錯誤異常,而不是unittest報告失敗,然後繼續下一個測試。這裏是測試代碼(大大簡化以證明這一點)。使用unittest斷言引發的異常
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
TIA,艾倫
確認它正常工作在Python 2.7版在Windows 7 – agf
您的代碼對我的作品在Win7 Python 3.2上。你運行了精簡的樣本嗎?堆棧跟蹤具有細微不同的行號。 –
我刪除了幾行,因此行號。不匹配。爲了確保我沒有生氣,我將上面的代碼粘貼到一個名爲test.py的全新文件中,並重新運行它,結果相同。舊回溯已經被編輯以顯示最新的回溯。任何進一步的想法將不勝感激。問候。 –