Minitest 5.6.0使用OpenStruct嘲笑JSON / XML响应中断测试

时间:2015-04-17 09:47:38

标签: xml json minitest

昨天我的CI系统启动了一个smokin'和a-screamin'许多错误都是这样的:

--- expected
+++ actual
@@ -1 +1 @@
-"<chart><series name=\"Lineups\"><name>56</name><name>614</name><name>0</name></series></chart>"
+"<chart><series name=\"Lineups\"><name>#&lt;struct Minitest::Expectation target=nil, ctx=#&lt;OpenStruct name=\"match day #abc\", value=56&gt;&gt;</name><name>#&lt;struct Minitest::Expectation target=nil, ctx=#&lt;OpenStruct name=\"match day #def\", value=614&gt;&gt;</name><name>#&lt;struct Minitest::Expectation target=nil, ctx=#&lt;OpenStruct name=\"match day #012\", value=0&gt;&gt;</name></series></chart>"

请注意,预期值已替换为Minitest::Expectation target=nil。这种情况的测试是建立一些样本输入:

def build_sample_input
  [
    OpenStruct.new(
      :name   => "match day #abc",
      :value  => 56
    ),
    ...
  ]
end

并且正在测试的代码使用Nokogiri的输入并构建一些XML输出。

builder = Nokogiri::XML::Builder.new do |xml|
  process_source(xml)
end

def process_source(xml)
  xml.chart do
    xml.show_graph_ false
    xml.type_ 'line'
    xml.orientation_ 'vertical'
    xml.description_ 'Unique Lineup Selections'
    xml.categories do
     input.each do |match_day|
        xml.name_ match_day.name
     end
    end
    xml.series('name' => 'Lineups') do
      input.each do |match_day|
        xml.name_ match_day.value
      end
    end
  end
end

其他人遇到这个?我知道它非常具体。错误报告为here

1 个答案:

答案 0 :(得分:0)

使用标志MT_NO_EXPECTATIONS=1运行,但我认为已经有一个补丁。