我正在使用Rails 5.2.0和rspec 3.7.1构建一个新的Rails应用程序。我正在尝试遵循rspec团队的建议:
http://rspec.info/blog/2016/07/rspec-3-5-has-been-released/
具体来说:
对于新的Rails应用:我们不建议添加 rails-controller-testing gem到您的应用程序。官方 Rails团队和RSpec核心团队的建议就是写 请求规格。
这些说明又链接到此页面,该页面提供了请求规范的示例。该示例包含以下内容:
expect(response).to render_template(:new)
当我在规范中包含对render_template
的类似调用时,收到以下消息:
失败/错误:期望(响应).to render_template(:index)
NoMethodError: assert_template已被提取到gem。要继续使用它, 将
gem 'rails-controller-testing'
添加到您的Gemfile中。
render_template
仍然委托给assert_template
,这显然是由rails-controller-testing提供的。但建议不要在新应用中使用gem 'rails-controller-testing'
。
我是否应该使用不同的方法来测试渲染,或者只是包含rails-controller-testing gem,尽管建议反对它?