Chcę uzyskać dostęp do zmiennych w różnicach Klauzule Given/Then/When. Jak zachować zmienne tak, aby były dostępne wszędzie?Zachowaj zmienną w ogórku?
10
A
Odpowiedz
15
Aby udostępnić zmienne w definicjach stopni, należy użyć instancji lub zmiennych globalnych.
Zmiennych wystąpienia można używać, gdy trzeba udostępniać dane w definicjach stopni, ale tylko dla jednego testu (tj. Zmienne są usuwane po każdym scenariuszu). Zmienne instancji rozpoczynają się od znaku @.
Given(#something) do
@foo = 123
end
Then(#something) do
p @foo
#=> 123
end
Jeśli chcesz udostępnić zmienną we wszystkich scenariuszach, możesz użyć zmiennej globalnej, która zaczyna się od $.
Given(#something) do
$foo = 123
end
Then(#something) do
p $foo
#=> 123
end
Uwaga: Zazwyczaj zaleca się, aby nie udostępniać zmiennych między etapami/scenariuszami podczas tworzenia sprzężenia.
Polecam ustawienia domyślne '@foo || =: bar', gdzie jest to możliwe, aby krok mógł być użyty bez drugiego kroku. – Johannes