キュウリとクリアランス:ステップでCURRENT_USER
-
26-09-2019 - |
質問
私は何を達成するためには、キュウリの手順を定義しながら、(頼る)current_user
メソッドを使用することです。私は私のプロジェクトでのクリアランスを使用しています。
すべてのIの最初にsign_in
を使用しようとしたが、それが機能しなかった(私は...キュウリの世界はクリアランス法について知らないと思います)。
だから私はCuckesがcurrent_user
とsign_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を駆動するログイン関連の機能を残すだろうし、直接に伐採に関連していない機能のためにそれをスキップすることができます。
所属していません StackOverflow