使用Rails 4测试render_template

时间:2014-04-24 18:27:33

标签: testing ruby-on-rails-4 rspec ruby-on-rails-3.2 actionview

我在Rails 3.2上进行了这项工作测试

it('render messages') { expect(helper.error_message('test')).to render_template('message') }

然而,这不适用于Rails 4,这是消息:

  2) ApplicationHelper#error_message render messages
     Failure/Error: it('render messages') { expect(helper.error_message('test')).to render_template('message') }
       expecting <"message"> but rendering with <["_message"]>
     # ./spec/helpers/application_helper_spec.rb:9:in `block (3 levels) in <top (required)>'

我已经在ActionView上搜索了可能会影响这个但却没有找到任何内容的更改。我想知道解决方案是否只是添加了_

expect(helper.error_message('test')).to render_template('_message')

或者这样做有什么缺点吗?

1 个答案:

答案 0 :(得分:0)

这是偏袒的,对吗?将部分名称传递给render_template

render_template(:partial => "_message")

Guide to Testing Rails Applications

中的更多信息