我正在阅读Ruby-on-Rails教程书,我遇到了一个令人困惑的问题,我无法弄明白。我得到了rspec并使用spork运行,它看起来像一个很棒的系统。然而,在第一次测试中,我遇到了一些疯狂的事情。这本书说要创建一些名为home和contact的静态页面,然后它会指导我如何创建一个运行rspec的DBB的静态页面。所以我为about page
创建了红色规范 describe "GET 'about'" do
it "should be successful" do
get 'about'
response.should be_success
end
end
这按预期失败。然后我添加一个路由到routes.rb文件
get "pages/about"
添加控制器的pages_controller.rb文件的控制器。
def about
end
我为about页面添加了一个非常简单的静态网页。
这本书说,做完这个测试后应该是绿色的,或通过测试。它没有。真正令人困惑的是,我实际上可以通过输入地址来打开简单的网页。
http://localhost:3000/pages/about
我已经尝试将'about'更改为'home',这样我基本上可以运行两次home测试。这工作正常,所以我知道没有语法问题。我改变了一切,以便我看到测试在不同的点上失败了。
我终于,我们绝望地想到我会尝试提问。这看起来很基本,但是因为我正在读这本书来学习系统,所以我真的不知道从哪里开始寻找。
答案 0 :(得分:3)
更改routes.rb文件时,需要重新启动spork。
答案 1 :(得分:0)
我没有看到你做了什么特别错误。我会尝试在断言行上面添加一个调试语句
describe "GET 'about'" do
it "should be successful" do
get 'about'
puts response.inspect
response.should be_success
end
end
(inspect是一种让对象输出比它们在内存中的位置更有意义的东西的方法)
如果输出没有真正解决问题,请尝试将其添加到您的帖子中,也许我们可以帮助您解决问题
答案 2 :(得分:0)
我喜欢在它自己的iTerm窗口中启动服务器(“rails s”),然后在另一个窗口中键入/编辑代码。如果您正在运行服务器,它应该显示所请求的URL失败,因为它生成了日志。可能有助于了解实际要求的内容。