2013-02-12 43 views
0

我有:如何获取实例变量在世界模块中可用?

module A 
    H = { c: @user } 

    def b 
    H.fetch(:c).should_not be_nil 
    end 
end 
World(A) 

@user在黄瓜步骤定义。当我调用它时,我得到一个错误,因为@user是零。

注意:如果我将代码更改为@user.should_not be_nil,我不会收到异常。

如何获取Cucumber模块中的实例变量?

回答

0

这里的黄瓜邮件列表中我得到了由马特·怀恩响应:

这个代码是没有意义的

H = { c: @user } 

这条线将运行的模块定义。您想使用的@user实例变量尚不存在 - 它只会在运行时存在。

0

这是行不通的?

module A 
    H = { c: :@user } 

    def b 
    send(H.fetch(:c)).should_not be_nil 
    end 
end 
World(A)