Minitest 5.6.0 中断了使用 OpenStruct 模拟的 JSON/XML 响应的测试
Minitest 5.6.0 breaks tests with JSON/XML responses mocked with OpenStruct
昨天我的 CI 系统启动了 a-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>#<struct Minitest::Expectation target=nil, ctx=#<OpenStruct name=\"match day #abc\", value=56>></name><name>#<struct Minitest::Expectation target=nil, ctx=#<OpenStruct name=\"match day #def\", value=614>></name><name>#<struct Minitest::Expectation target=nil, ctx=#<OpenStruct name=\"match day #012\", value=0>></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
运行 标记 MT_NO_EXPECTATIONS=1
有效,但我认为已经有一个补丁。
昨天我的 CI 系统启动了 a-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>#<struct Minitest::Expectation target=nil, ctx=#<OpenStruct name=\"match day #abc\", value=56>></name><name>#<struct Minitest::Expectation target=nil, ctx=#<OpenStruct name=\"match day #def\", value=614>></name><name>#<struct Minitest::Expectation target=nil, ctx=#<OpenStruct name=\"match day #012\", value=0>></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
运行 标记 MT_NO_EXPECTATIONS=1
有效,但我认为已经有一个补丁。