質問

私は何を達成するためには、キュウリの手順を定義しながら、(頼る)current_userメソッドを使用することです。私は私のプロジェクトでのクリアランスを使用しています。

すべてのIの最初にsign_inを使用しようとしたが、それが機能しなかった(私は...キュウリの世界はクリアランス法について知らないと思います)。

だから私はCuckesがcurrent_usersign_in / sign_out方法を認識させる方法を教えてください。

役に立ちましたか?

解決

あなたのキュウリの機能は、パブリックユーザインターフェースを介してアプリケーションを駆動する必要があります。ような何かます:

Given /^I am signed in as "([^\"]*)"%/ do |username|
  visit 'sign_in'
  fill_in 'Username', :with => username
  click 'Sign In'
end
current_user方法がブラウザに利用できないため、、あなたの仕様でそれを使用してはいけません。

あなた可能性上記の手順で@current_userを格納し、それのための属性リーダーを提供することによって、あなたのステップで偽のそれを。

他のヒント

私はすべての受け入れテスト(そうでなければキュウリや)は、ログインロジックを行使しなければならないという考えに反対します。同意する場合は幸いにも、クリアランスはバックドアを追加しましたあなたがステップで記号を省略することができますテストでます。

user = create(:user)
visit posts_path(as: user)

これで、ユーザーとしてログインUIを駆動するログイン関連の機能を残すだろうし、直接に伐採に関連していない機能のためにそれをスキップすることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top