3rdRailによるRailsプログラミング入門

第6回 Controllerクラスの実装と機能テスト(前編)

富田 陽介
Banana Systems株式会社

2009/8/17

機能テストコードを実行してみる

 では、早速、この機能テストを実行してみましょう。機能テストの実行手順は、ユニットテストのときと同様です。

 [Railsエクスプローラー]からtsubuyakiプロジェクト−[テスト]−[機能テスト]の順にツリーを展開し、HitokotosControllerを右クリックして、[実行]−[Rubyテスト]をクリックします。

 [スクリプト・テスト]ビューに切り替わり、下の図のようなテスト実行結果が表示されます。

画面2 HitokotosControllerの機能テスト実行結果

 今回は、スカフォルド機能である程度Controllerが実装済みでしたので、4件中2件のテストケースは成功しました。2件失敗したケースがありますので、確認しておきましょう。

 [スクリプト・テスト]ビューで青い障害アイコンがついているテストケースをクリックすると、[障害トレース]欄に失敗したテストの実行トレースが表示されます。ここでは、以下のようなトレースが表示されているはずです。

test_createへのPOSTリクエストにより、Hitokotoのレコード数が1増加し、一覧画面に遷移する(HitokotosControllerTest)
Expected response to be a redirect to <http://test.host/hitokotos> but was a redirect to <http://test.host/hitokotos/3>.
:

test_newへのGETリクエストが成功し、users変数にユーザーのリストが割り当てられる(HitokotosControllerTest)
<nil> expected to not be nil.
:

 トレースを読むと、

  • createメソッドを実行した後のリダイレクト先が、テストで規定されているものと異なっている
  • newメソッドを実行した後、@usersインスタンス変数が(nilでないことが期待されているのに)nilになってしまっている

ためにテストが失敗してしまったことが分かります。

 次回、「Controllerクラスの実装と機能テスト(後編)」では、このテストが正常に実行されるように、HitokotosControllerの本番コードを実装していきます。

prev
3/3
 

Index
Controllerクラスの実装と機能テスト(前編)
  Page1
Railsでよく使用されるアクションメソッド名
HitokotosControllerの実装
HitokotosControllerのアクションメソッド名
  Page2
機能テストコードの実装
Page3
機能テストコードを実行してみる
index 3rdRailによるRailsプログラミング入門

 Ruby/Rails関連記事
プログラミングは人生だ
まつもと ゆきひろのコーディング天国
 ときにプログラミングはスポーツであり、ときにプログラミングは創造である。楽しいプログラミングは人生をより実りあるものにしてくれる
生産性を向上させるRuby向け統合開発環境カタログ
Ruby on Rails 2.0も強力サポート
 生産性が高いと評判のプログラミング言語「Ruby」。統合開発環境を整えることで、さらに効率的なプログラミングが可能になる
かんたんAjax開発をするためのRailsの基礎知識
Ruby on RailsのRJSでかんたんAjax開発(前編)
 実はAjaxアプリケーション開発はあなたが思うよりも簡単です。まずはRuby on Railsの基礎知識から学びましょう
Praggerとnetpbmで作る画像→AA変換ツール
Rubyを使って何か面白いものを作ってみよう!
 一般的な画像をアスキーアートに変換するツールを作ってみる。さらに出力にバリエーションを持たせてみよう
コードリーディングを始めよう
Railsコードリーディング〜scaffoldのその先へ〜(1)
 優れたプログラマはコードを書くのと同じくらい、読みこなす。優れたコードを読むことで自身のスキルも上達するのだ
  Coding Edgeフォーラムフィード  2.01.00.91


Coding Edge フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

>

Coding Edge 記事ランキング

本日 月間