【问题标题】:Cucumber is Overriding my OverrideCucumber 覆盖了我的 Override
【发布时间】:2014-09-18 20:02:56
【问题描述】:

我希望覆盖 puts 以包含我所有 Cucumber 步骤定义的时间戳。我已经使用 'string_addons.rb' 文件的 'require' 来完成此操作,该文件重新定义 puts 以添加时间戳,然后调用 super(timestamped_str)。

我的问题是 rb_world.rb 也覆盖了 puts 并且优先于我的覆盖。知道在 Ruby 中使用的是最近的覆盖,我需要我的 'string_addons.rb' 再次位于 puts 调用的上方。不幸的是,仍然使用来自 rb_world 的 puts。

【问题讨论】:

    标签: ruby cucumber overriding require operator-precedence


    【解决方案1】:

    require 会跟踪文件是否已被包含,并且不会再次加载它。这就是为什么您的第二个需求没有发生任何事情的原因。

    【讨论】:

    • 谢谢,我切换到 'load()' 仍然遇到同样的问题。
    猜你喜欢
    • 1970-01-01
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多