#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 — я добавил оба варианта, которые вы хотели бы видеть