当我直接从黄瓜的 Given/When/Then 语句打印输出时,它会以漂亮的蓝色文本打印,但是如果我调用任何其他函数并在其中打印,它会以红色打印(而不是缩进)
样品特点:
Feature: Foo
Scenario: Foo2
Given something
Then something else
示例 step_def:
Given /^something$/ do
puts "Pretty blue"
end
class AnyClass
def doSomething
puts "Scary red"
end
end
Then /^something else$/ do
AnyClass.new.doSomething
end
在下面的示例输出中,“Scary red”是红色的,根本没有缩进,实际上是在黄瓜步骤之前打印的(“Then”子句)。“Pretty blue”为蓝色,适当缩进,在黄瓜步骤后输出。
Feature: Foo
Scenario: Foo2
Given something
Pretty blue
Scary red
Then something else
1 scenario (1 passed)
2 steps (2 passed)
0m0.001s
我是 Ruby & cucumber 的新手,所以我什至不肯定这些是这个问题的合适标签。有没有办法让其他类中调用的方法的输出与漂亮的格式相匹配?
编辑:更多的搜索表明,步骤中的 put 处理方式与其他函数(从其他格式化程序中排除)的 put 处理方式不同(例如,如果格式不同,则包含它们)。所以也许问题是,Ruby 如何从步骤中截取 put?我怀疑他们正在实施自己的 put,这是 step 课程的一部分。