У меня возникли проблемы с тестированием некоторого поколения XML с использованием Nokogiri, когда узел пуст. Я использую Minitest для сравнения сгенерированной строки XML с файлом привязки шаблона. Мой тест завершился неудачей с пустым узлом, так как Minitest сравнивает <Node></Node>
с <Node />
.Тестирование генерации XML Nokogiri с пустыми узлами
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 пытается сравнить самозакрывающийся тег с несамостоятельным тегом и сделать тест неудачным. Изменение тега прибора на самозакрывающееся приводит, как ни странно, к точному же сообщению об ошибке.
Это потому, что иногда @object.filename
- ниль - если у меня есть пустой узел XML (как в xml.Header
выше), используя самозакрывающийся тег в моем приборе, проблем нет.
Вы спрашиваете, почему ваш тест не пройден, но не обеспечивает источник теста? –