env.rb で変数をユーザー ID として定義しました。
ユーザー ID='1234'
Cucumber テストのシナリオで、応答に正しいユーザー ID が含まれていることを確認したいと思います。ただし、シナリオまたはステップ定義で同じことをハードコーディングしたくありません。そうすることは可能ですか?
追加のファイルを配置します。たとえばtest_constanst.rb
、features/ dir に配置します。そこで、次のようなモジュールを定義します。
module TestConstants
def self.user_id
1234
end
end
このように、テスト構成とコードから分離されています。からファイルを必要とするだけですenv.rb
。
Ruby の変数のスコープは、シジルによってある程度制御されます。$ で始まる変数はグローバル、@ で始まる変数はインスタンス変数、@@ はクラス変数を意味し、大文字で始まる名前は定数です。変数をグローバルにすると、どこでも使用できるようになります。
$userid='1234'