如何在 RSpec 中模拟 XML 文件

How do I mock a XML file in RSpec

我有一个 XML 文件 hw.xml,其中包含节点的硬件信息。

<node hostname="my_hostname">
  <volume raid="RAID-10">
   ....
   ....
  </volume>
</node> 

如果 raid 属性不等于 RAID-10,如何模拟 xml 文件使其无法通过测试用例?

您可以使用 Nokogiri 创建一个 XML 模拟,如下所示:

builder = Nokogiri::XML::Builder.new do |xml|
  xml.root {
    xml.products {
      xml.widget {
        xml.id_ "10"
        xml.name "Awesome widget"
      }
    }
  }
end
puts builder.to_xml

您可以查看此 here 的文档。