Python - последовательность не равна, но это то, что я ожидаю - PullRequest
0 голосов
/ 02 ноября 2011
def parse(self, input):
    input = input.replace("\n", "").replace(" ", "")
    bits = input.split("=>")
    return bits[:-1]

Учитывая "a => \nb => \nc=> ", вывод в консоли ["a", "b", "c"], что именно то, что я хочу.Я предполагаю, что консоль должна форматировать выходные данные, но я не могу объяснить, почему мои тесты не выполняются.

Мой модульный тест не пройден, указав, что результат равен [["a", "b", "c"]], когда я выполняю assertEqual с помощью unittest.

Может кто-нибудь объяснить?Я довольно новичок в Python в том смысле, что я не касался его в течение нескольких лет, и даже тогда это был довольно ограниченный опыт.

Тестовый код

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

Приветствия

1 Ответ

2 голосов
/ 02 ноября 2011

Я только что проверил это, используя модуль ниже, и мой тест проходит нормально:

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...