1
當節點空白時,使用Nokogiri測試一些XML生成有點麻煩。我正在使用Minitest將生成的XML字符串與模板夾具文件進行比較。由於Minitest將<Node></Node>
與<Node />
進行比較,因此我的測試失敗。使用空白節點測試Nokogiri XML生成
XML生成
builder = Nokogiri::XML::Builder.new encoding: "UTF-8" do |xml|
xml.Header
xml.FileName @object.filename
end
模板文件
這是我用在我的測試夾具
<?xml version="1.0" encoding="UTF-8"?>
<Header/>
<FileName></FileName>
MINITEST輸出
文件3) Failure:
--- expected
+++ actual
@@ -25,7 +25,7 @@
<Header />
- <FileName/>
+ <FileName></FileName>
正如您所看到的,MiniTest正試圖將自閉標籤與非自閉標籤進行比較,並使測試失敗。奇怪的是,將fixture標籤更改爲自動關閉標籤的結果與完全相同的錯誤消息相同。
這是因爲有時@object.filename
是零 - 如果我有一個空白的XML節點(如上面的xml.Header
)在我的夾具中使用自閉標籤沒有問題。
你問我們,爲什麼你的測試失敗,但不提供測試的來源是什麼? –