2011-09-09 4 views
4

私はキュウリやカピバラとのRails 3.0.7プロジェクトを実行していると私はフラッシュかどうかを確認するステップ定義している[:エラー]が存在する:Cucumber-Capybaraでフラッシュ変数の存在を宣言するにはどうすればよいですか?

Then /^I should be able to see the main page properly$/ do 
    current_path.should == "/" 
    flash[:error].should == nil 
end 

私はキュウリのテストを実行すると、私が手をエラー

And I should be able to see the main page properly # features/step_definitions/user_auth_steps.rb:17 
    undefined method `flash' for nil:NilClass (NoMethodError) 
    ./features/step_definitions/user_auth_steps.rb:19:in `/^I should be able to see the main page properly$/' 
    features/user_auth.feature:10:in `And I should be able to see the main page properly' 

これは可変アサーションを処理する正しい方法ですか?私はセッション[:何か]を使用する場合、同じタイプのエラーが発生することに気付きました。

答えて

2

実際にページに表示される内容を確認する必要があります。この場合には:

page.should_not have_css('.flash') 
0

(任意の型の)セットflashメッセージがないことを主張するために、あなたが行うことができます:

assert_predicate flash, :empty? 

特定のないflashメッセージがないことを主張するにはタイプセット(この例では:error)は、次の操作を実行できます。

assert_predicate flash[:error], :nil? 
関連する問題