如何从页面对象(siteprism)ruby类访问黄瓜env.rb中的黄瓜CONSTANT?

问题描述 投票:0回答:2

我在我的黄瓜env.rb文件中定义了一个CONSTANT:

CONFIG = YAML::load_file("#{File.dirname(__FILE__)}/../../configs/config.yaml")

然后我想访问'config.yaml'文件中的值,比如CONFIG['url']

我遇到的问题是我有一个页面对象siteprism类,我不知道如何访问它?

class MyPage < SitePrism::Page
  set_url CONFIG['url']
...

它失败了:

uninitialized constant MyPage::CONFIG (NameError)

我想访问我的env.rb文件中定义的CONFIG常量,但不是来自MyPage的常量。你们知道我怎么能做到这一点吗?

ruby cucumber constants pageobjects site-prism
2个回答
0
投票

使用::,就像::CONFIG['url']一样。

请注意,鉴于你有"YAML::load_file("CONFIG,这个表达式的值将是nil


0
投票

确保您的装货订单正确无误。根据建议使用顶层命名空间。更好的逻辑是将其委托给Helper模块,在您的类中包含此辅助模块。然后调用辅助模块方法

class MyKlass
  include MyHelper

  set_url helper_method[:key]
end

module MyHelper
  def helper_method
    {
      key: 'http://www.google.com/'
    }
  end
end

如果其他人认为set_url不起作用。随意在SitePrism回购中提出问题:https://github.com/natritmeyer/site_prism/issues,或者在这里询问是否更容易

© www.soinside.com 2019 - 2024. All rights reserved.