今回書いたRSpecのパターン

まだRSpec初心者なので恥ずかしいですが、今回のプロジェクトで書いたモデルのRSpecのパータンをさらしておきます。

screenshot

具体的にどんなRSpecが書かれているのかという情報はネット上に少ないと思いますので・・・

識者の方の意見を待ってます ^^)

describe XXXX, "テーブルの関連は" do
  fixtures :xxxxs, :yyyys, :zzzzs

  it "yyyysを所有" do
    ....
  end

  it "zzzzsに依存" do
    ....
  end

  ....
end

describe XXXX, "の入力チェックは" do

  it "nameは必須項目" do
     ....
  end 

  it "nameはユニーク" do
     ...
  end

  ....
end


describe XXXXX do
  fixtures :xxxxs

  it "小さな機能 (1)" do
     ....
  end

  it "小さな機能 (2)" do
     ....
  end

  describe "大きな機能(1)" do

  it "仕様 (1)" do
     ....
  end

  it "仕様 (2)" do
     ....
  end

  ....
end


最初の describe はテーブルの関連のスペック(テスト)です。わざわざテストするほどの事もない場合も多いとは思いますが、私の場合2カ所で綴りミスが発見されました ^^;
またスペックだと考えると、ぜひともテーブルの関連の記述は欲しいですよね。


2番目の describe は Varidator のスペック(テスト)です。


3番目の describe は Model に付加したメソッドのスペック(テスト)です。ごく小さなもの(前のブログに書いたようにロジック的なものは全てモデル等に書いたので、小さなメソッドがかなりあります)は直下に it "仕様・・・" で書きました。

そして、記述が複数あるような、大きなメソッドは describe をネストさせて機能を毎に describe を書くようにしました。

最初の内は、describe がネスト出来る事を忘れていて、大きなメソッドもネストせずに書いていたのですが、途中からこのスタイルで書くようにしました。


まだまだ私自身でもこれだというスタイルに成っているわけではありません。まだまだ変わって行くと思います ^^)