如何在我的Cucumber测试场景中使用预定义的变量/常量

时间:2012-08-29 10:33:08

标签: ruby cucumber

我在env.rb中将变量定义为userid。

  

用户ID = '1234'

在我的Cucumber测试中,我希望确认我的响应包含正确的用户ID。但是,我不希望在我的Senario或步骤定义中对其进行硬编码。是否可以这样做?

2 个答案:

答案 0 :(得分:3)

我会在feature / dir中放置一个额外的文件,让我们说test_constanst.rb。在那里,我会定义一个这样的模块:

module TestConstants
  def self.user_id
    1234
  end
end

像这样,你将它与测试配置和代码分开。您只需要从env.rb请求该文件。

答案 1 :(得分:2)

Ruby中的变量范围在某种程度上受到了sigils的控制。以$开头的变量是全局变量,带@的变量是实例变量,@@表示类变量,以大写字母开头的变量是常量。使变量成为全局变量,并且随处可用,即

  

$用户ID = '1234'