10
我想訪問變量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
注意:通常建議在創建耦合時不要在步驟/場景之間共享變量。
我建議在可能的情況下使用默認值'@foo || =:bar',以便在沒有其他步驟的情況下使用該步驟。 – Johannes