Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有:
module A H = { c: @user } def b H.fetch(:c).should_not be_nil end end World(A)
@user在 Cucumber 步骤中定义。当我调用它时,我收到一个错误,因为@user 为零。
@user
注意:如果我将代码更改为@user.should_not be_nil,我不会得到异常。
@user.should_not be_nil
如何让 Cucumber 实例变量在 World 的模块中可用?
这行得通吗?
module A H = { c: :@user } def b send(H.fetch(:c)).should_not be_nil end end World(A)
这是我在 Cucumber 邮件列表中收到的 Matt Wynne 的回复:
这段代码没有意义 H = { c: @user } 此行将在定义模块时运行。您要使用的 @user 实例变量尚不存在 - 它只会在运行时存在。
这段代码没有意义
H = { c: @user }
此行将在定义模块时运行。您要使用的 @user 实例变量尚不存在 - 它只会在运行时存在。