Rspecその2(3.0+1.0日目)

昨日の続きで今回は実際にfizzbuzzを判定する部分のユニットテストを書いていきます。

まず、テスト対象が別のメソッドなのでdescribeを分ける。

「メソッドの説明をする」 にしたがってdescribeに説明を書くようにする

describe "#puts_fizzbuzz?" do

end

次はContextsを使うを参考に contextを明確にする。

describe "#puts_fizzbuzz?" do
  context "引数が3の場合" do
  
  end
  
  context "引数が5の場合" do
  
  end
  
  context "引数が15の場合" do
  
  end
  
  context "引数が3,5,15で割れる数以外の時" do
  
  end
end

こんなふうになりました。

で、ここから検証用のコードを書いていきます。

インスタンス生成時の引数は今回不要なため、beforeインスタンス生成の処理 を書いてしまいます。

describe "#puts_fizzbuzz?" do
  before do
    @fizzbuzz = FizzBuzz.new
  end

end

@がつくとインスタンス変数として扱われます。

あとはそれぞれの状態の時のテストを書いていきます。

context "引数が3の場合" do
  it { expect(@fizzbuzz.puts_fizzbuzz 3).to eq :fizz}
end

puts_fizzbuzzではシンボルを返しているので、 シンボルのfizzが帰ってきているか懸賞する

あとは同じように書いていけばおけ。。。

今日は疲れてるので、これで終わり。

そろそろsinatraとかを使ってみたい。