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
- パフォーマンステストのベンチマークを行う。