我需要使用下一个字段生成包含测试结果的简单文件:
Total N
Pass N
Fail N
Failed: testName1
...
Failed: testNameN
我使用Nokogiri编写xml文件。 对于前3个字段,我有下一个代码:
xml = Nokogiri::XML::Builder.new { |xml|
xml.body do
xml.Total total
xml.Pass pass
xml.Fail fail
end
}.to_xml
我的测试名称失败。我需要迭代思考该数组并使用nokogiri将每个失败的测试名称写入此xml文件。怎么做? 我想要这样的东西:
<failed> testname1 </failed>
<failed> testname2 </failed>
<failed> testnameN </failed>
答案 0 :(得分:0)
一些注意事项:
fail
是raise
的同义词,不应用作变量名。
如果对Nokogiri :: XML :: Builder中的String和Builder块中使用的绑定变量使用xml
,可能会造成混淆。
require 'nokogiri'
total = 5
pass_count = 3
fail_count = 2
failed_tests = ["test_name_1", "test_name_3"]
xml_content = Nokogiri::XML::Builder.new { |xml|
xml.body do
xml.Total total
xml.Pass pass_count
xml.Fail fail_count
xml.failed do
failed_tests.each do |failed_test|
xml.failed failed_test
end
end
end
}.to_xml
puts xml_content
# <?xml version="1.0"?>
# <body>
# <Total>5</Total>
# <Pass>3</Pass>
# <Fail>2</Fail>
# <failed>
# <failed>test_name_1</failed>
# <failed>test_name_3</failed>
# </failed>
# </body>