python2和python3的unittest

2024-04-19 15:44:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力使unittest在2.7.3和3.2.3(Ubuntu12.04附带的版本)中工作

基本上问题是:

  • 我需要assertEqual具有unicode的字符串,因此python2使用u'asdf',python3.2没有这种功能(我相信它们是在3.3中重新引入的)。有没有一种方法可以将一个字符串参数表示为assertEqual,它将与u'asdf'进行比较,并在python3.2中进行编译?

  • 我需要assertRegex一些输出,但是在python2.7中它被称为assertRegexpMatched。我是否应该创建一个自定义方法,根据运行代码的版本使用正确的方法?怎样?


Tags: 方法字符串代码功能版本参数unicodeunittest
1条回答
网友
1楼 · 发布于 2024-04-19 15:44:16

最后我创建了这个函数来代替u“asdf”:

def u(s):
    if sys.version_info[0]==3:
        return s
    else:
        return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape")

并将此方法添加到我的测试类中:

^{pr2}$

相关问题 更多 >