読者です 読者をやめる 読者になる 読者になる

unittest.TestCaseの出力で期待値と実際の値の差分を省略しない

unittest.TestCaseのassertEqualsなどで、期待値と実際の値の差分が大きい場合80*8文字まで表示してあとは省略される

# coding=utf-8
from unittest import TestCase


class DiffTest(TestCase):
    def test_diff(self):
        self.assertEquals(range(0, 1000), range(0, 1001))

実行結果

AssertionError: Lists differ: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9,... != [0, 1, 2, 3, 4, 5, 6, 7, 8, 9,...

Second list contains 1 additional elements.
First extra element 1000:
1000

Diff is 7925 characters long. Set self.maxDiff to None to see it.


メッセージにある通りself.maxDiffをNoneに設定することで、省略させないようにすることができる

# coding=utf-8
from unittest import TestCase


class DiffTest(TestCase):

    maxDiff = None

    def test_diff(self):
        self.assertEquals(range(0, 1000), range(0, 1001))