Ruby on rails Capybara Ruby On Rails登录

Ruby on rails Capybara Ruby On Rails登录,ruby-on-rails,tdd,capybara,bdd,rspec-rails,Ruby On Rails,Tdd,Capybara,Bdd,Rspec Rails,我一直试图让用户登录能够工作,但没有运气。请帮助我更好地理解水豚和rspec,我对这方面还比较陌生 规格/功能/登录\u规格.rb # User Behavior describe User do it "Can login" do visit root_path click_on "Login" expect(page).to have_text("Login to your account") within ".simple_form" do

我一直试图让用户登录能够工作,但没有运气。请帮助我更好地理解水豚和rspec,我对这方面还比较陌生

规格/功能/登录\u规格.rb

# User Behavior

describe User do 
  it "Can login" do
    visit root_path
    click_on "Login"
    expect(page).to have_text("Login to your account")
    within ".simple_form" do
        fill_in "Email", with: "user@test.com"
        fill_in "Password", with: 'password'
        click_on "Log In"
        subject.save!
    end
  end
end
designe/sessions/new.html.erb

<div class="container content">   
  <div class="row">
    <div class="col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3">
      <div class="reg-page">
        <div class="reg-header">            
          <h2>Login to your account</h2>
        </div>
        <%= simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
        <div class="input-group margin-bottom-20">
          <%= f.input :email, autofocus: true, class: "form-control" %>
        </div>                    
        <div class="input-group margin-bottom-20">
          <%= f.input :password, autocomplete: "off", class: 'password form-control' %>
        </div>                    
        <div class="row">
          <div class="col-md-6">
            <% if devise_mapping.rememberable? -%>
              <div class="field">
                <%= f.check_box :remember_me %>
                <%= f.label :remember_me %>
              </div>
            <% end %>
          </div>
          <div class="col-md-6">
              <div class="actions">
                <%= f.button :submit, "Log In", class: 'btn btn-u-lg btn-u' %>
              </div>                          
          </div>
        </div>
        <hr>
        <% end %>
        <%= render "devise/shared/links" %>
      </div>            
    </div>
  </div><!--/row-->
</div>
gemfile

group :development, :test do
  gem 'byebug'
  gem 'rspec-rails'
end

group :test do
  gem 'capybara'
end
spec_helper.rb

ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'capybara/rspec'
我明白了

需要有一个用户已经在数据库中创建的水豚参考

ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'capybara/rspec'