【发布时间】:2008-12-29 03:01:18
【问题描述】:
我正在为 rails 中的控制器编写一些功能测试,使用 mocha 进行模拟/存根。
有没有办法防止模板在测试过程中被渲染,这样我就只能测试控制器中的代码了?
看起来 rspec 提供了类似的东西,但我没有使用 rspec。
【问题讨论】:
标签: ruby-on-rails ruby
我正在为 rails 中的控制器编写一些功能测试,使用 mocha 进行模拟/存根。
有没有办法防止模板在测试过程中被渲染,这样我就只能测试控制器中的代码了?
看起来 rspec 提供了类似的东西,但我没有使用 rspec。
【问题讨论】:
标签: ruby-on-rails ruby
最明显的解决方案似乎有效:
@controller.expects(:render)
我可以发誓我昨晚试过了,但没有运气。但今天早上它就像一个魅力。我一定忽略了一个错字。
【讨论】:
这里似乎不需要使用存根。如果要确保呈现给定的模板,请使用assert_template 和/或assert_response。您还可以手动或使用诸如assert_select 之类的帮助器来断言响应对象的状态。
【讨论】:
render_to_string 会做你需要的吗?
【讨论】: