sam*_*aek 14 rspec ruby-on-rails ruby-on-rails-3
所以关于Stackoverflow的第一个问题..... =]
我在Michael Hartl的RoR教程的第5.3.2章中的测试都失败了,当教程说它应该通过时(教程说'关于','联系','帮助'应该通过......但是我的全部失败了) .现在一切都工作得很好,但我改变了
get 'static_pages/help'
Run Code Online (Sandbox Code Playgroud)
至
match '/help', to: 'static_pages#help'
Run Code Online (Sandbox Code Playgroud)
这样我的
SampleApp::Application.routes.draw do
root to: 'static_pages#home'
match '/help', to: 'static_pages#help'
match '/about', to: 'static_pages#about'
match '/contact', to: 'static_pages#contact'
Run Code Online (Sandbox Code Playgroud)
然后一切都变成了地狱.我的所有测试都失败了一个未定义的局部变量或方法'root_path'或'about_path'等(见下面的终端输出).但这里是我的相关文件......万一有人好奇,所有文件都是Hartl所拥有的.我基本上复制并粘贴了每个文件的内容.
有人能帮我吗??????谢谢!
require 'spec_helper'
describe "Static pages" do
describe "Home page" do
it "should have the h1 'Sample App'" do
visit root_path
page.should have_selector('h1', text: 'Sample App')
end
it "should have the base title" do
visit root_path
page.should have_selector('title',
text: "Ruby on Rails Tutorial Sample App")
end
it "should not have a custom page title" do
visit root_path
page.should_not have_selector('title', text: '| Home')
end
end
describe "Help page" do
it "should have the h1 'Help'" do
visit help_path
page.should have_selector('h1', text: 'Help')
end
it "should have the title 'Help'" do
visit help_path
page.should have_selector('title',
text: "Ruby on Rails Tutorial Sample App | Help")
end
end
describe "About page" do
it "should have the h1 'About'" do
visit about_path
page.should have_selector('h1', text: 'About Us')
end
it "should have the title 'About Us'" do
visit about_path
page.should have_selector('title',
text: "Ruby on Rails Tutorial Sample App | About Us")
end
end
describe "Contact page" do
it "should have the h1 'Contact'" do
visit contact_path
page.should have_selector('h1', text: 'Contact')
end
it "should have the title 'Contact'" do
visit contact_path
page.should have_selector('title',
text: "Ruby on Rails Tutorial Sample App | Contact")
end
end
end
Run Code Online (Sandbox Code Playgroud)
FFFFFFFFF
Failures:
1) Static pages Contact page should have the h1 'Contact'
Failure/Error: visit contact_path
NameError:
undefined local variable or method `contact_path' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_4:0x007fd2093855f8>
# ./spec/requests/static_pages_spec.rb:55:in `block (3 levels) in <top (required)>'
2) Static pages Contact page should have the title 'Contact'
Failure/Error: visit contact_path
NameError:
undefined local variable or method `contact_path' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_4:0x007fd208cbeb20>
# ./spec/requests/static_pages_spec.rb:60:in `block (3 levels) in <top (required)>'
3) Static pages Help page should have the h1 'Help'
Failure/Error: visit help_path
NameError:
undefined local variable or method `help_path' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_2:0x007fd2094c02b0>
# ./spec/requests/static_pages_spec.rb:27:in `block (3 levels) in <top (required)>'
4) Static pages Help page should have the title 'Help'
Failure/Error: visit help_path
NameError:
undefined local variable or method `help_path' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_2:0x007fd209649208>
# ./spec/requests/static_pages_spec.rb:32:in `block (3 levels) in <top (required)>'
5) Static pages About page should have the h1 'About'
Failure/Error: visit about_path
NameError:
undefined local variable or method `about_path' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_3:0x007fd208f16d00>
# ./spec/requests/static_pages_spec.rb:41:in `block (3 levels) in <top (required)>'
6) Static pages About page should have the title 'About Us'
Failure/Error: visit about_path
NameError:
undefined local variable or method `about_path' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_3:0x007fd2094f7990>
# ./spec/requests/static_pages_spec.rb:46:in `block (3 levels) in <top (required)>'
7) Static pages Home page should not have a custom page title
Failure/Error: visit root_path
NameError:
undefined local variable or method `root_path' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fd208d30b08>
# ./spec/requests/static_pages_spec.rb:19:in `block (3 levels) in <top (required)>'
8) Static pages Home page should have the base title
Failure/Error: visit root_path
NameError:
undefined local variable or method `root_path' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fd208e0cb80>
# ./spec/requests/static_pages_spec.rb:13:in `block (3 levels) in <top (required)>'
9) Static pages Home page should have the h1 'Sample App'
Failure/Error: visit root_path
NameError:
undefined local variable or method `root_path' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fd209607268>
# ./spec/requests/static_pages_spec.rb:8:in `block (3 levels) in <top (required)>'
Finished in 0.30216 seconds
9 examples, 9 failures
Failed examples:
rspec ./spec/requests/static_pages_spec.rb:54 # Static pages Contact page should have the h1 'Contact'
rspec ./spec/requests/static_pages_spec.rb:59 # Static pages Contact page should have the title 'Contact'
rspec ./spec/requests/static_pages_spec.rb:26 # Static pages Help page should have the h1 'Help'
rspec ./spec/requests/static_pages_spec.rb:31 # Static pages Help page should have the title 'Help'
rspec ./spec/requests/static_pages_spec.rb:40 # Static pages About page should have the h1 'About'
rspec ./spec/requests/static_pages_spec.rb:45 # Static pages About page should have the title 'About Us'
rspec ./spec/requests/static_pages_spec.rb:18 # Static pages Home page should not have a custom page title
rspec ./spec/requests/static_pages_spec.rb:12 # Static pages Home page should have the base title
rspec ./spec/requests/static_pages_spec.rb:7 # Static pages Home page should have the h1 'Sample App'
Run Code Online (Sandbox Code Playgroud)
eeb*_*sen 12
我将此作为答案,因为解决方案(来自@mischa)隐藏在@ marflar的答案下的评论中:尝试重新启动Spork以解决此问题.
米沙的答案有望解决大部分问题,但您的测试可能仍会在 root_path 问题上失败。
您是否像这样删除了index.html:git rm public/index.html
并且不要忘记提交您的更改:git commit -am "Message"
| 归档时间: |
|
| 查看次数: |
14133 次 |
| 最近记录: |