2012年11月12日月曜日

15日目:テストコードを見てみる。

Rubyと言えばTDDでしょ!(?)
ということで、今日は先日作成したRailsのScaffoldで作ったテストコードを見てみます。
test/functional/users_controller_test.rb
中を見ると、最初のメソッドはこんな感じ

  setup do
    @user = users(:one)
  end

setupはJUnitのsetupと一緒なんでしょう。ですが、ん?なに「:one」って?
調べたところ、これは
test/fixtures/users.yml
の中に用意されているテストデータを読み取ってるそうです。便利。
次のメソッドは以下、

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:users)
  end

テストに説明(=should get index)を付けて、テストを実行しています。
indexにGetアクセスをして、レスポンスがsuccess(=200?)であることを確認しています。

assert_not_nil assigns(:users)
は、viewで、@usersがnullでないことを確認しているものです。例えば、controllerで@users変数に値を入れていることをテストしています。

その後にもたくさんのテストメソッドがありますね。

テストも簡単に書けるんですね。便利。


0 件のコメント:

コメントを投稿