TOPシステム開発> サンプルにテストを適用する
Ruby on Rails入門
Ruby on Rails入門

第4回:Railsでテストをしてみよう
著者:アスタリクス  大西 正太   2006/6/14
前のページ  1  2   3  4  次のページ
サンプルにテストを適用する

   それでは前回作成したアプリケーション「アドレス帳」を題材にテストを実施してみましょう。
テスト用DBの作成

   まずテスト用のDBを作成しましょう。

mysql> create database AddressBook_test;


database.ymlの編集

   次にRAILS_ROOT/config/database.ymlを編集することで各モードのDB指定ができます。今回はtestモードのDBを指定するため、下記記述を追加します。

database.yml
test:
     adapter: mysql
     database: AddressBook_test
     username: root
     password:
     host: localhost

   テストの解説に入る前に、本連載で使用するサンプルファイルを紹介します。下記をクリックするとサンプルファイルをダウンロードできます。

サンプル
Text  sample_file.zip
  (ZIPファイル/1.26KB)


モデルのテスト

   それではモデルのテストについて解説します。


モデルの雛形ファイルを作成

   まず「RAILS_ROOT/test/unit」の中を見てみてください。contact_test.rbというファイルがあったでしょうか。

   素晴らしいことに、前回scaffoldした際にRailsが自動的にテストクラスの雛形を作ってくれているのです。このクラスに追記していく形でテスト作成していきます。


fixturesの作成

   上述したように、Railsではfixturesという仕組みによってDBの初期データを設定することができます。fixturesファイルはYAML(注1)、CSV、Rails独自などの形式で記述することができます。今回はRails開発以外でも認知度が高くExcelなどで編集可能なCSVを用いましょう。

※注1: Rubyで広く使われているマークアップ言語のこと。

   「RAILS_ROOT/test/fixtures」にcontacts.csvファイルを作成し、下記のように記述してください(すでにcontacts.ymlファイルが存在する場合は削除してください)。

contacts.csv
id,name,email
1,michael jackson,michael@example.com
2,nancy,nancy@example.com

   ポイントはテーブル名とファイル名を一致させる点と、1行目にはカラム名を書くという点です。

前のページ  1  2   3  4  次のページ


株式会社アスタリクス  大西 正太氏
著者プロフィール
株式会社アスタリクス  大西 正太
JavaEEフレームワークの設計構築や開発プロセス策定などの業務を経て、現在は新規ビジネス創生に携わる。Ruby on Rails上に構築したオープンソースのCMS「Rubricks」(http://rubricks.org/)のコミッタ。


INDEX
第4回:Railsでテストをしてみよう
  テストの自動化
サンプルにテストを適用する
  モデルのテストを作成
  コントローラのテスト