Python - 序列不相等,但它正是我所期待的

时间:2011-11-01 22:32:35

标签: python unit-testing console sequences

def parse(self, input):
    input = input.replace("\n", "").replace(" ", "")
    bits = input.split("=>")
    return bits[:-1]

鉴于"a => \nb => \nc=> ",控制台中的输出为["a", "b", "c"],这正是我想要的。我想控制台必须格式化输出,但我无法解释为什么我的测试失败。

我的单元测试失败,当我使用unittest执行[["a", "b", "c"]]时,结果为assertEqual

有人可以解释一下吗?我对Python很陌生,因为我几年没有碰过它,即便如此,它的体验也非常有限。

测试代码

subject = InputParser()
self.assertEqual(subject.parse("a =>\nb => "), ["a", "b"])

干杯

1 个答案:

答案 0 :(得分:2)

我刚刚使用下面的模块对此进行了测试,我的测试通过正常:

import unittest

class InputParser:
    def parse(self, input):
        input = input.replace("\n", "").replace(" ", "")
        bits = input.split("=>")
        return bits[:-1]

class InputParserTest ( unittest.TestCase ):
    def test_parse ( self ):
        subject = InputParser()
        self.assertEqual(subject.parse("a =>\nb => "), ["a", "b"])

if __name__ == '__main__':
    unittest.main()