Python 2.7和3.4:为什么test_unexpected_error测试会抛出错误而不是失败?
import unittest
class TestLists(unittest.TestCase):
def test_unexpected_error(self):
self.assertEqual([0] * 1000 + [1], [1] + [0] * 1000)
def test_fails_as_expected(self):
self.assertEqual([0] * 1000 + [1], [0] * 1000 + [0])
if __name__ == '__main__':
unittest.main()
Run Code Online (Sandbox Code Playgroud)
错误是:
RuntimeError: maximum recursion depth exceeded while calling a Python object
Run Code Online (Sandbox Code Playgroud)
回溯(删节 - 递归错误是一个递归错误是一个递归错误是....)
Traceback (most recent call last):
File "sotest.py", line 7, in test_unexpected_error
self.assertEquals([0] * 1000 + [1], [1] + [0] * 1000)
File "/usr/lib/python2.7/unittest/case.py", line 513, in assertEqual
assertion_func(first, second, …Run Code Online (Sandbox Code Playgroud)