我在用RSpec测试控制器时遇到了一个问题——响应.body调用总是返回一个空字符串.在浏览器中,所有内容都正确呈现,cucumber功能测试似乎都正确,但RSpec每次都失败.
对响应对象的其他期望,例如response.should render_template('index')
次通过,没有任何问题.
你们中有人以前遇到过这个问题吗?也许可以通过其他方式获得html响应?
至于版本,Rails 2.1.0、RSpec 1.2.7.
我在用RSpec测试控制器时遇到了一个问题——响应.body调用总是返回一个空字符串.在浏览器中,所有内容都正确呈现,cucumber功能测试似乎都正确,但RSpec每次都失败.
对响应对象的其他期望,例如response.should render_template('index')
次通过,没有任何问题.
你们中有人以前遇到过这个问题吗?也许可以通过其他方式获得html响应?
至于版本,Rails 2.1.0、RSpec 1.2.7.
默认情况下,rspec rails侵入rails,从实际渲染视图模板中删除它.你应该只测试你的行为;过滤控制器测试,而不是模板渲染的结果——这就是视图规格的用途.
但是,如果您希望使控制器规格呈现模板与应用程序通常一样,请使用render_views
指令:
describe YourController do
render_views
...
end