使用ActionController :: TestResponse在控制器规范中使用Capybara匹配器

时间:2011-07-21 10:05:54

标签: ruby-on-rails controller rspec capybara

我在我的rspec控制器规范中调用了render_views,因此我可以直接测试响应的内容,而不是使用单独的视图规范。

确实在response.body中呈现并返回视图。

问题是如何以富有表现力的方式实际解析页面内容。我正在尝试使用像has_contenthas_field这样的Capybara匹配器,它们在请求规范中运行良好,但它们不能与ActionController::TestResponse一起使用,也不能与.body返回的字符串一起使用1}}。

用于解析视图的rspec API在哪里?

如果我不能检查它们,render_views有什么意义?

1 个答案:

答案 0 :(得分:1)

如果您想要规范渲染视图,我建议在请求/接受/功能规范中执行此操作,而不是控制器。控制器规格应更像是控制器的单位规格。如果你想确保一个视图呈现没有任何问题,可以使用render_views,但你不应该更深入地指出该视图。