在Python的assertListEqual()模块中使用unittest有问题。
当我做self.assertListEqual(expected, result)时,它正确地比较了项目。但是当有一点不同的时候,我就有了区别。在这个差别中,除了有明显不同的项目外,我还有很多行,比如:

问题是:我怎么才能摆脱它,只看到不同的元素呢?
要生成expected时间戳,我使用dateutil.parser.parse和Django的ORM。
下面是示例代码,它显示:
from datetime import datetime
import unittest
import pytz
from dateutil.parser import parse
class Test(unittest.TestCase):
def test_foo(self):
expected = [{
'value': 1,
'timestamp': datetime(2018, 1, 1, 0, 0, 0, tzinfo=pytz.utc),
}]
result = [{
'value': 0,
'timestamp': parse('2018-01-01T00:00:00Z'),
}]
self.assertListEqual(expected, result)
if __name__ == '__main__':
unittest.main()发布于 2018-10-09 11:53:45
试试这个:
from datetime import datetime
import unittest
import pytz
import dateutil
from dateutil.parser import parse
class Test(unittest.TestCase):
def test_foo(self):
expected = [{
'value': 1,
'timestamp': datetime(2018, 1, 1, 0, 0, 0, tzinfo=dateutil.tz.tz.tzutc()),
}]
result = [{
'value': 1,
'timestamp': parse('2018-01-01T00:00:00Z'),
}]
self.assertListEqual(expected, result)
if __name__ == '__main__':
unittest.main()https://stackoverflow.com/questions/52717834
复制相似问题