使用Rspec测试导轨中的Liquid模板

时间:2009-09-04 16:08:05

标签: ruby-on-rails rspec liquid

希望使用rspec来测试液体模板。有人试过吗?是否可能。

具体来说,我们的应用程序允许用户提交一组模板,我希望能够编写集成测试来验证这些模板。

欢迎替代解决方案/方法..

3 个答案:

答案 0 :(得分:4)

it "should render liquid" do
  liquid = <<-LIQUID
  {% for category in bulletin.categories %}
  {{ category.title }}
  {% for event in category.events %}
  {{ event.name }}
  {% endfor %}
  {% endfor %}
  LIQUID

  rendered = Liquid::Template.parse(liquid).render 'bulletin' => @bulletin

  rendered.should include @category.title
  rendered.should include @event.name
end

答案 1 :(得分:0)

为了测试用户交互,我建议使用Cucumber。这允许您指定用户步骤并通过浏览器检查应用程序的响应方式。这是非常强大的东西!

RSpec应该用于测试模型和控制器中的特定方法。使用RSpec查看测试没有任何意义。使用Cucumber,您正在运行整个应用程序堆栈。

答案 2 :(得分:0)

如果您的意思是要在保存时验证模板,那么模型应该负责模板的验证,规范应该测试验证,而不是模板。我会使用rspec来测试模型上的特定验证,并使用黄瓜来测试有效和无效的情况。