我想访问不同 Given/Then/When 子句中的变量。如何保存变量以便在任何地方都可以访问它们?
Given(#something) do
foo = 123 # I want to preserve foo
end
Then(#something) do
# how to access foo at this point???
end
我想访问不同 Given/Then/When 子句中的变量。如何保存变量以便在任何地方都可以访问它们?
Given(#something) do
foo = 123 # I want to preserve foo
end
Then(#something) do
# how to access foo at this point???
end
要跨步骤定义共享变量,您需要使用实例或全局变量。
当您需要跨步骤定义共享数据时可以使用实例变量,但仅限于一个测试(即在每个场景后清除变量)。实例变量以@ 开头。
Given(#something) do
@foo = 123
end
Then(#something) do
p @foo
#=> 123
end
如果你想在所有场景中共享一个变量,你可以使用一个以 $ 开头的全局变量。
Given(#something) do
$foo = 123
end
Then(#something) do
p $foo
#=> 123
end
注意:通常建议不要在步骤/场景之间共享变量,因为它会产生耦合。