我的测试开始失败,因为我在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
否则注释掉的人曾经工作过。我在这里缺少一些明显的愚蠢意识吗?
答案 0 :(得分:2)
您可以在正则表达式中使用\s
来替换新的行和空格字符,它更具可读性:
assert_equal expected.gsub(/\s/,''), result.gsub(/\s/,'')
答案 1 :(得分:1)
我不会比较字符串,只是很糟糕。
相反,我会比较对象表示。
尝试使用:Hash#from_xml并比较哈希值。