сбой интеграционного теста rspec

#ruby-on-rails #ruby #rspec #capybara

#ruby-on-rails #ruby #rspec #capybara

Вопрос:

Я работаю над руководством Hartl по Rails в главе 5, где я создаю интеграционные тесты для нового пользовательского контроллера. После создания тестов rspec я, похоже, не могу выполнить два теста для проверки содержимого и заголовка веб-страницы регистрации.

Я сам вручную посетил веб-страницу, и как содержимое, так и заголовок выглядят нормально. Я также использовал capybara’s save_and_open_page , чтобы проверить, что он видит, и он выглядит точно так же, как при моем посещении сайта без форматирования css. Я также перезапустил оба сервера rails и spork, если это имеет какое-либо значение.

Буду признателен за любую помощь.

Вот мой тест rspec user_pages_spec.rb :

 require 'spec_helper'

describe "UserPages" do

    subject { page }

    describe "Signup page" do

        before { visit signup_path; save_and_open_page }

        it { should have_content("Sign up") }
        it { should have_title(full_title("Sign up")) }
    end
end
  

Результаты теста:

 Run options: include {:locations=>{"./spec/requests/user_pages_spec.rb"=>[7]}}
FF

Failures:

  1) UserPages Signup page 
     Failure/Error: it { should have_content("Sign up") }
       expected #has_content?("Sign up") to return true, got false
     # ./spec/requests/user_pages_spec.rb:11:in `block (3 levels) in <top (required)>'

  2) UserPages Signup page 
     Failure/Error: it { should have_title(full_title("Sign up")) }
       expected #has_title?("Rails Sample App | Sign up") to return true, got false
     # ./spec/requests/user_pages_spec.rb:12:in `block (3 levels) in <top (required)>'

Finished in 0.06667 seconds
2 examples, 2 failures

Failed examples:

rspec ./spec/requests/user_pages_spec.rb:11 # UserPages Signup page 
rspec ./spec/requests/user_pages_spec.rb:12 # UserPages Signup page 

Randomized with seed 30695

[Finished in 0.7s with exit code 1]
  

грабельные маршруты

  Prefix Verb URI Pattern        Controller#Action
   root GET  /                  static_pages#home
   help GET  /help(.:format)    static_pages#help
  about GET  /about(.:format)   static_pages#about
contact GET  /contact(.:format) static_pages#contact
 signup GET  /signup(.:format)  users#new
  

new.html.erb

 <% provide(:title, "Sign Up") %>

<h1>Sign Up</h1>
<p>Find me in app/views/users/new.html.erb</p>
  

application.html.erb

 <!DOCTYPE html>
<html>
<head>
  <title><%= full_title(yield(:title)) %></title>
  <%= stylesheet_link_tag    "application", media: "all", "data-turbolinks-track" => true %>
  <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
  <%= csrf_meta_tags %>
  <%= render 'layouts/shim' %>
</head>
<body>
    <%= render 'layouts/header' %>
    <div class="container">
        <%= yield %>
        <%= render 'layouts/footer' %>
    </div>
</body>
</html>
  

Комментарии:

1. Это помогло бы увидеть ваш макет и шаблон регистрации.

2. Можете ли вы запустить rake routes и показать нам свои маршруты? Я ожидаю, что вам нужно будет visit new_user_registration_path

3. @RubyRacer — я добавил оба варианта, которые вы хотели бы видеть