Испытание RSPEC на выходе парсера Treetop не соответствует, когда он должен
Вопрос
У меня есть этот спектр:
it 'can parse armies with only section headers' do
list = <<-LIST
:Core
:Special
:Omgg
:Moarheaders
LIST
expected_output = "## Core\n## Special\n## Omgg\n## Moarheaders\n"
parsed = @parser.parse(list)
parsed.should_not be_nil
parsed.transform.should be expected_output
end
Который производит этот вывод:
expected ## Core
## Special
## Omgg
## Moarheaders
, got "## Core\n## Special\n## Omgg\n## Moarheaders\n"
Если я удалю двойные кавычки, я получаю этот вывод:
expected ## Core\n## Special\n## Omgg\n## Moarheaders\n,
got "## Core\n## Special\n## Omgg\n## Moarheaders\n"
Если я добавлю цитаты на мой ожидаемый_output, я получаю это :(expected_output = '"## Core\n## Special\n## Omgg\n## Moarheaders\n"'
)
expected "## Core\n## Special\n## Omgg\n## Moarheaders\n",
got "## Core\n## Special\n## Omgg\n## Moarheaders\n"
Что тут происходит?
Я не могу получить результат Treetop, чтобы оценить n как новички, и я не могу получить ожидаемое значение, чтобы соответствовать, независимо от того, что я пытаюсь.
Я запутался.
Решение
Ты пробовал:
parsed.transform.should == expected_output
be
может использовать идентичность объекта вместо сравнения строковых значений.
Не связан с StackOverflow