有没有更好的方法可以忽略\ n?

时间:2012-05-23 18:54:22

标签: ruby-on-rails syntax

我的测试开始失败,因为我在XML预期块之后添加了debugger。现在它在语句末尾生成一个\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

否则注释掉的人曾经工作过。我在这里缺少一些明显的愚蠢意识吗?

2 个答案:

答案 0 :(得分:2)

您可以在正则表达式中使用\s来替换新的行和空格字符,它更具可读性:

assert_equal expected.gsub(/\s/,''), result.gsub(/\s/,'')

答案 1 :(得分:1)

我不会比较字符串,只是很糟糕。

相反,我会比较对象表示。

尝试使用:Hash#from_xml并比较哈希值。