我努力在2.7.3和3.2.3(ubuntu 12.04附带的版本)中进行单元测试工作
基本上问题是:
我需要assertEqual
具有unicode的字符串,因此python2使用u' asdf'和python 3.2没有这样的东西(我相信它们在3.3中被重新引入)。有没有一种方法可以将assertEqual
的字符串参数表示为比较等于u'asdf'
并在python 3.2中编译?
我需要assertRegex
几个输出,但在python2.7中,它被称为assertRegexpMatched
。我应该根据运行代码的版本创建使用正确方法的自定义方法吗?怎么样?
答案 0 :(得分:0)
我最终创建了这个函数来替换你的“asdf”:
def u(s):
if sys.version_info[0]==3:
return s
else:
return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape")
在我的测试类中添加此方法:
def assertRegexp(self, a, b):
if sys.version_info >= (3,2):
return self.assertRegex(a, b)
else:
return self.assertRegexpMatches(a, b)