Treetop パーサー出力の RSpec テストが一致すべきときに一致しない
質問
私はこの仕様を持っています:
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"
Expected_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 結果を取得できません。また、何を試しても、expected_output を一致させることもできません。
私は混乱しています。
解決
試しましたか:
parsed.transform.should == expected_output
be
文字列値を比較する代わりにオブジェクト ID を使用する場合があります。
所属していません StackOverflow