rspec标题测试失败,我正在设置标题?

时间:2010-12-02 03:35:33

标签: ruby-on-rails rspec

我的rspec标题测试失败了:

1) HomeController Get 'index should have the right title
     Failure/Error: response.should have_selector("title",
     expected following output to contain a <title>TitleTest</title> tag:
     <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
     # ./spec/controllers/home_controller_spec.rb:13

我的家庭控制器有:

def index()     @title =“TitleTest”   端

我的观点(application.html.erb)有:

<title><%= @title %></title> 

运行rails服务器显示我的标题确实已设置,这里有什么问题?

2 个答案:

答案 0 :(得分:2)

确保在控制器规范中将其设置为render_views。否则,rspec将无法查看。只需在描述控制器块后添加该位代码即可。

更新:您可以找到一个示例here

答案 1 :(得分:1)

'render_views'绝对是必需的。我也遇到了类似的情况,我的问题是我没有在执行期望之前检索页面。换句话说,结构应该是:

describe... 

 it...  # previous expectation

 it...
   get 'mypage' 
   response should...

我错误地认为我不需要获取'mypage'并且我可以重复使用之前预期的响应