小编boh*_*rax的帖子

Python:为什么unittest assertEqual会在这些列表上抛出错误而不是失败?

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)

python python-unittest

1
推荐指数
1
解决办法
155
查看次数

标签 统计

python ×1

python-unittest ×1