红宝石 – 黄瓜“放”在挂钩后不输出任何东西

前端之家收集整理的这篇文章主要介绍了红宝石 – 黄瓜“放”在挂钩后不输出任何东西前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在黄瓜,在我的env.rb文件,我有一个以前&挂钩设置(好吧,其中一些,一些链接到特定的标签),但发现后挂钩不输出任何东西,当我把放在他们.

例如,这样做:

Before do
  puts "before the scenario"
end

但这不是:

After do
  puts "after the scenario"
end

看起来,后钩确实可以运行(因为有一个特别的行,我在后钩中有一个问题,在尝试调试,我发现这个问题),但他们只是没有输出任何东西.

我所有的搜索都证明是无效的,找不到有类似问题的人.任何人都可以告诉我是否在做错事?

解决方法

黄瓜覆盖了RbWorld类中的puts消息,以便使用put编写的任何内容都可以正确地广播到所有格式化器.在漂亮的格式化器的情况下,它们进入一个delayed_messages集合,直到它调用print_messages,它似乎在每个步骤名称被打印后看起来都是这样做的,大概是这样的消息似乎嵌套在生成它们的步骤之下.

由于某些原因,在美丽的格式化程序中没有最终调用print_messages,我不知道这是否是一个遗漏或故意的,因为在输出中会出现虚假的消息.

有趣的是,如果您添加了第二种情况,则在第二种情况运行时,将会看到“在场景之后”打印为第一条消息,这是在操作中的delayed_messages集合.

总而言之,你没有任何错误,只是如何Cucumber劫持了put方法.如果你不太在意这些消息格式很好,那么你可以用STDOUT.puts替换put来绕过Cucumber的格式.

原文链接:https://www.f2er.com/ruby/273990.html

猜你在找的Ruby相关文章