我試圖單元測試一個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'Ø''。 –