2016-07-11 3 views
0

私はインスタンス変数として定義する必要がある理由を調べようとしていますか?なぜローカルではないのですか?私は@homeがすべてのステップのdefメソッドで共有できることを知っています。それ以外の具体的な理由はありませんか?私が知っている以外の理由を理解するために私を助けてください。ここでSitePrism Capybaraフレームワークで、@記号を使用してオブジェクトを作成する理由は?

When /^I navigate to the google home page$/ do 
    @home = Home.new 
    @home.load 
end 

は、リンクのURLです:https://github.com/natritmeyer/site_prism

答えて

1

唯一の理由は、工程間で共有するためです。オブジェクトが1つのステップでのみ必要な場合は、ローカル変数にすることができます。 @homeが他のステップで使用されていない場合、あなたの例はちょうど

When /^I navigate to the google home page$/ do 
    Home.new.load 
end 
となります。
関連する問題