0

debuggerXMLの予期されたブロックの後に追加したため、テストが失敗し始めました。\nこれで、ステートメントの最後にシングルが生成され、テストに失敗します。そして、とにかくそれを取り除くことができないようです。テキストを削除したり、移動したりします。

それから私はそれを通過させるためにこれを書きました:

      expected = <<-XML
    <?xml version="1.0" ?>
    <?qbxml version="5.0" ?>
    <QBXML>
      <QBXMLMsgsRq onError="continueOnError">
      </QBXMLMsgsRq>
    </QBXML>
    XML
  assert_equal expected.gsub(/\n/,'').gsub(' ',''), result.gsub(/\n/,'').gsub(' ','')
  #assert_equal expected.strip, result

それ以外の場合は、コメントアウトされたものが以前は機能していました。私がここで見逃しているいくつかのばかげた明白な感覚はありますか?

4

2 に答える 2

2

正規表現で使用して、改行文字とスペース文字の両方を置き換えることができます\s。これはもう少し読みやすくなっています。

assert_equal expected.gsub(/\s/,''), result.gsub(/\s/,'')
于 2012-05-23T19:26:40.060 に答える
1

私は文字列を比較しません、それはただひどいです。

代わりに、オブジェクト表現を比較します。

Hash#from_xml を使用して、ハッシュを比較してみてください。

于 2012-05-23T19:29:05.783 に答える