Rails, モデルのユニットテストとテストコマンド
2010年04月12日
Rails でのユニットテストはモデルに対するテストのこと。
テストの雛形ファイルが generate コマンドによるモデル作成時(scaffold による生成時など)に作成される。
テスト用データベースの準備
テスト用のデータベースにスキーマを設定するために、開発用のデータベースのスキーマをコピーする。
$ rake db:test:prepare
ユニットテストの実行
ruby の -I オプションで test ディレクトリを検索パスに含ませる。
$ ruby -I test test/unit/hoge_test.rb
データベースの準備からテストまでを行う
以下のコマンドでは、スキーマのコピーから test/unit 内の全てのユニットテストまでを自動実行する。
$ rake test:units
その他、テストコマンドについて
rake test- 全てのテスト、ユニットテスト・ファンクショナル(機能)テスト・インテグレーション(統合)テストを行う。
rake test:functionals- ファンクショナル(機能)テストを行う。
rake test:integration- インテグレーション(統合)テストを行う。
rake test:units- ユニットテストを行う。
rake test:plugins- vendor/plugins/*/**/test 以下のプラグインのテストを行う。
あるいは、PLUGIN=nameで指定したプラグインのテストを行う。 rake test:recent- 最近変更されたファイルのテストを行う。
rake test:uncommitted- 最後にチェックインされてからの変更に対してテストを行う。
(Subversion と Git) rake test:profile- パフォーマンステストのプロファイリングを行う。
rake test:benchmark- パフォーマンステストのベンチマークを行う。