我在wsp_controller上定义了一个名为location的函数:
def location
@title ="Edit account"
@page_name = "edit"
end
它工作正常。但是当我尝试渲染这样的布局时:
def location
@title ="Edit account"
@page_name = "edit"
render :layout => 'signup_login'
end
RSpec测试开始失败。然而,应用程序做了所谓的但测试失败。 我在布局中有javascript代码,当我去/位置时我需要运行,如果我把javascripts放在应用程序布局上,它可以工作(测试和应用程序),但是没有必要把它放在那里,所以我想要一个新布局并渲染它。
我该怎么做?
编辑:这是我在routes.rb中的内容
match '/wsps/:id/location', :to =>'wsps#location'
感谢。
编辑:
一些RSpec错误:
Failures:
1) WspsController GET 'index' for non-signed-in wsps should deny access to 'index'
Failure/Error: get :index
You have a nil object when you didn't expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.errors
渲染布局时,简单不会通过测试。但这只是在那种方法中。
答案 0 :(得分:0)
您可能需要提供有关您获得的失败的更多信息。你提到你有javascript需要在页面呈现时运行?不要忘记,在功能测试中,页面呈现为html,但没有使用真正的浏览器,因此不运行javascript。对于涉及javascript的测试,你应该看看像Cucumber这样的东西来定义一些验收测试,结合像Watir或Selenium来驱动浏览器。