私はユニットテストには本当に新しいので、私はそれの周りに私の頭を包んでしようとしています。したがって、ユーザーがtitle
とdescription
と入力してCreate Article
をクリックすると記事が作成されるはずですが、ログインしたユーザーだけがこの操作を実行できるので、これをテストする必要があります。Ruby on Rails - テストケースにユーザを追加する
私はこれは私が考えているものをこれに新しいですしておりますので、
- ユーザーは(ログインしている場合はどのようにシステムチェックthatsのように私はセッションに保存
- 最初のユーザーを作成します。しかし、私はまた、ブラウザではないので、このロジックが動作しないかもしれないと思っています)、どのように私はログインしたユーザーとしてフォームを送信するのですか?ここ
私は、コマンドにrspec spec/features/add_article_spec.rb
を実行すると、私の試みは
require 'rails_helper'
RSpec.feature 'adding article' do
scenario 'allow user to add an article' do
@user = User.create(:email => "[email protected]", :password => 'password', :username => 'saadia1')
session[:user_id] = @user.id
visit new_article_path
# @article = Article.user.to eql(@user = User.find_by(id: 6))
fill_in "Title", with: "My Title"
fill_in "Description", with: "My description"
click_on("Create Article")
expect(page).to have_content("My Title")
expect(page).to have_content("My description")
end
end
である私は
Failures:
1) adding article allow user to add an article Failure/Error: session[:user_id] = @user.id
NameError: undefined local variable or method `session' for #<RSpec::ExampleGroups::AddingArticle:0x007f89285e32e8> # ./spec/features/add_article_spec.rb:6:in `block (2 levels) in <top (required)>'
Finished in 0.0197 seconds (files took 1.35 seconds to load) 1 example, 1 failure
Failed examples:
rspec ./spec/features/add_article_spec.rb:4 # adding article allow user to add an article
を参照してくださいだから私の質問は、私がログインして記事を追加するにはどうすればよいですユーザー?私は本当にこれに関する助けを感謝します。
ありがとうございます、はい私はdeviseを使用しています。私は試して戻ってくるだろう – Saadia