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

在黄瓜,在我的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的格式.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...