在使用 RSpec 测试我的控制器时,我遇到了一个问题 - response.body 调用总是返回一个空字符串。在浏览器中,一切都正确呈现,并且 Cucumber 功能测试似乎正确,但 RSpec 每次都会失败。
对响应对象的其他期望,例如response.should render_template('index')
没有任何问题就可以通过。
你们中有人以前遇到过这个问题吗?也许可以通过其他方式获取响应 html?
至于版本,Rails 2.1.0、RSpec 1.2.7。
默认情况下,rspec-rails 会侵入 Railsprevent它来自实际渲染视图模板。您应该只测试操作的行为并过滤控制器测试,而不是模板渲染的结果 - 这就是视图规范的用途。
但是,如果您希望像应用程序通常那样制作控制器规格渲染模板,请使用render_views https://www.relishapp.com/rspec/rspec-rails/docs/controller-specs/render-views指示:
describe YourController do
render_views
...
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)