RSpec prueba de copa de árbol de salida del analizador no coincide cuando debe
Pregunta
Tengo esta especificación:
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
¿Qué produce esta salida:
expected ## Core
## Special
## Omgg
## Moarheaders
, got "## Core\n## Special\n## Omgg\n## Moarheaders\n"
Si elimino las comillas dobles, consigo esta salida:
expected ## Core\n## Special\n## Omgg\n## Moarheaders\n,
got "## Core\n## Special\n## Omgg\n## Moarheaders\n"
Si añado cotizaciones a mi expected_output, me sale esto:
(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"
¿Qué está pasando aquí?
No puedo obtener el resultado copa de árbol para evaluar la \ n como saltos de línea, y no puedo conseguir el expected_output para que coincida con independencia de lo que intento.
Estoy confundido.
Solución
¿Usted intentó:
parsed.transform.should == expected_output
be
podría utilizar la identidad del objeto en lugar de comparar los valores de cadena.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow