2013-05-04

railsの部分テンプレートのspec

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
railsを利用していて、いつもviewのspecがあまいので、ちょっとだけ強化してみようと思ってみたのです。


部分テンプレートの内容を確認するspecってどう書くのかな?
とか思ったわけですが、以下のような感じでOKでした。

spec/views/user/_form.html.erb_spec.rb

require 'spec_helper'

describe '/user/_form.html.erb' do
  before do
    render :partial => 'user/_form'
  end
  it "必要要素をレンダリングする" do
    rendered.should have_selector('form.register') do |form|
      form.should have_selector("input#password")
    end
    rendered.should contain("登録してください")
  end
end


そして、その部分テンプレートを利用していることをチェックするspecは以下のような感じです。

describe 'user/create.html.erb' do
  it "部分テンプレート_formをレンダリングする" do
    render
    rendered.should render_template(:partial => "_form")
  end
end


cucumberの利用もあまいので、ちゃんと活用したいなぁと思う今日この頃です。

コメントを投稿