Rails, モデルのユニットテストとテストコマンド

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

参考:A Guide to Testing Rails Applications

«
»