我阅读了Ruby-on-Rails教程,但我有一个令人困惑的问题,我无法解决。我启动了rspec并与spork一起运行,它看起来是一个很棒的系统。然而,在第一次测试中,我遇到了一些非常疯狂的事情。书中说要创建一些名为home和contact的静态页面,然后它指导我如何创建一个运行rspec的DBB的静态页面。因此,我为about页面创建了红色规范
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测试。它工作得很好,所以我知道没有语法问题。我已经改变了周围的一切,所以我看到测试在不同的点上失败了。
最后,我绝望地想,我应该试着问一个问题。它看起来很基础,但由于我正在阅读这本书来学习这个系统,我真的不知道从哪里开始看。
发布于 2010-11-29 03:49:25
当您更改routes.rb文件时,需要重新启动spork。
发布于 2010-11-24 08:19:37
首先,不要担心在这里问菜鸟问题。堆栈溢出中的唯一规则是,您不应该询问与现有问题完全相同的问题:)
我看不出你的所作所为有什么特别的问题。我会尝试在断言行的正上方添加调试语句
describe "GET 'about'" do
it "should be successful" do
get 'about'
puts response.inspect
response.should be_success
end
end(检查是一种让对象输出比它们在内存中的位置更有意义的东西的方法)
如果输出结果没有真正说明问题,请尝试将其添加到您的帖子中,也许我们可以帮助您解决这个问题
发布于 2011-03-16 13:36:19
我喜欢在服务器自己的iTerm窗口中启动服务器("rails s"),然后在另一个窗口中输入/编辑代码。如果服务器正在运行,它应该会在生成日志时向您显示失败的请求URL。查看实际请求的内容可能会有所帮助。
https://stackoverflow.com/questions/4262278
复制相似问题