我正在研究Ruby on Rails教程(第5章),我收到了一个错误。我的代码是....
https://github.com/Hjack/sample_app_new
我收到以下错误...
hakimus-MacBook-Air:sample_app_new hakimujackson$ bundle exec rspec spec/requests/static_pages_spec.rb
Rack::File headers parameter replaces cache_control after Rack 1.5.
...FFFFFF
Failures:
1) Help page
Failure/Error: it { should have_selector('h1', text: 'Help')}
expected css "h1" with text "Help" to return something
# ./spec/requests/static_pages_spec.rb:20:in `block (2 levels) in <top (required)>'
2) Help page
Failure/Error: it { should have_selector('title', text: full_title('Help'))}
expected css "title" with text "Ruby on Rails Tutorial Sample App | Help" to return something
# ./spec/requests/static_pages_spec.rb:21:in `block (2 levels) in <top (required)>'
3) About page
Failure/Error: it { should have_selector('h1', text: 'About')}
expected css "h1" with text "About" to return something
# ./spec/requests/static_pages_spec.rb:28:in `block (2 levels) in <top (required)>'
4) About page
Failure/Error: it { should have_selector('title', text: full_title('About Us'))}
expected css "title" with text "Ruby on Rails Tutorial Sample App | About Us" to return something
# ./spec/requests/static_pages_spec.rb:29:in `block (2 levels) in <top (required)>'
5) Contact page
Failure/Error: it { should have_selector('h1', text: 'Contact')}
expected css "h1" with text "Contact" to return something
# ./spec/requests/static_pages_spec.rb:36:in `block (2 levels) in <top (required)>'
6) Contact page
Failure/Error: it { should have_selector('title', text: full_title('Contact'))}
expected css "title" with text "Ruby on Rails Tutorial Sample App | Contact" to return something
# ./spec/requests/static_pages_spec.rb:37:in `block (2 levels) in <top (required)>'
Finished in 0.21916 seconds
9 examples, 6 failures
Failed examples:
rspec ./spec/requests/static_pages_spec.rb:20 # Help page
rspec ./spec/requests/static_pages_spec.rb:21 # Help page
rspec ./spec/requests/static_pages_spec.rb:28 # About page
rspec ./spec/requests/static_pages_spec.rb:29 # About page
rspec ./spec/requests/static_pages_spec.rb:36 # Contact page
rspec ./spec/requests/static_pages_spec.rb:37 # Contact page
这是我的spec.rb文件......
require 'spec_helper'
describe "StaticPages" do
subject { page }
describe "Home page" do
before { visit root_path }
it { should have_selector('h1', text: 'Sample App')}
it { should have_selector('title', text: full_title(''))}
it { should_not have_selector 'title', text: '| Home'}
end
end
describe "Help page" do
before { visit help_path }
it { should have_selector('h1', text: 'Help')}
it { should have_selector('title', text: full_title('Help'))}
end
describe "About page" do
before { visit about_path }
it { should have_selector('h1', text: 'About')}
it { should have_selector('title', text: full_title('About Us'))}
end
describe "Contact page" do
before { visit contact_path}
it { should have_selector('h1', text: 'Contact')}
it { should have_selector('title', text: full_title('Contact'))}
end
我不确定我做错了什么。我很感激任何帮助。
感谢!!!
答案 0 :(得分:2)
问题出在你的spec文件中 -
describe "StaticPages" do
subject { page }
describe "Home page" do
before { visit root_path }
it { should have_selector('h1', text: 'Sample App')}
it { should have_selector('title', text: full_title(''))}
it { should_not have_selector 'title', text: '| Home'}
end
end
您过早地结束了rspec上下文 - 将最后一个'end'移动到规范的底部,测试应该全部通过。
喝彩!