当我运行一个单元测试,在其中测试两个整数相等时,我得到一个断言错误异常,而不是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的全新文件中,并重新运行它,结果相同。旧回溯已经被编辑以显示最新的回溯。任何进一步的想法将不胜感激。问候。 –