我在一个代码库(2.6、2.7 和 3.3+)中仅将 python 库从 python 2 移植到 python 2 和 3。剩下的主要问题是很多测试都使用这样的东西:
def test(self):
example = {u'foo': u'bar'}
self.assertEqual(str(example), "{u'foo': u'bar'}")
它适用于 python 2,但在 python3 中引发异常:
AssertionError: "{'foo': 'bar'}" != "{u'foo': u'bar'}"
除了“测试不同”之外,还有处理这些问题的标准方法吗?超载__repr__
?