0

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