我试图单元测试一个python函数,但它似乎不能代替函数内部的任何字符。即使该功能应该工作?替换字符串中的特殊字符
错误消息:
E AssertionError: assert 'TE/ST-' == 'AEOEAA_TE_ST_'
E - æøå TE/ST-
E + AEOEAA_TE_ST_
功能
class Formatter(object):
@classmethod
def string(self, string):
new_string = string.upper()
# split cases
new_string.replace(' ', '_')
new_string.replace('-', '_')
new_string.replace('/', '_')
# chars
new_string.replace('Ø', 'OE')
new_string.replace('Å', 'AA')
new_string.replace('Æ', 'AE')
return new_string
测试
def test_formatter():
test = Formatter.string('æøå te/st-')
assert test.decode('utf-8') == 'AEOEAA_TE_ST_'
在Python 2中,请务必正确标记您的unicode字符串:'u'Ø''。 –