Rakeで実行できるRails環境でのテストタスク
- 2013/02/24 (Sun) |
- Ruby on Rails |
- CM(0) |
- Edit |
- ▲Top
Railsでの単体テストの実行にはrakeコマンドを多用しなければならないが、このコマンドで実行できる作業(以下「タスク」と呼ぶ)は数多いため、いくつかポイントになりそうな情報をここに書き留めておく。
1) テスト用DBスキーマ構築時のrake オプション
2) テストの実行
これを見て分かるように、test/unit という独自ディレクトリに、MVCモジュールと関係のないテストユニットを配置できる。
詳細は以下のファイルを参照(rails4 -- 2012.2.24時点)
(Rubyのインストールされたディレクトリ)/ruby/gems/x.x.x/gems/rails-x.x.x/guides/source/testing.md
基本的にこの内容を理解できればRails上でのRake操作はほぼ把握できると思われる。
Ruby gemパッケージには(no-docインストールしなければ)それぞれドキュメントが添付されており、それを参照することでパッケージの利用方法を得ることができるので、そちらを参照することで知りたい情報を知ることができる可能性もある。
(gem server とコマンド入力することでブラウザでドキュメント参照できる)==>便利!
1) テスト用DBスキーマ構築時のrake オプション
- rake db:test:clone
- 現在使用中環境のDBスキーマよりtest環境のDBを構築
- rake db:test:clone_structure
- development 環境のDBスキーマを使ってtest環境のDBを構築
- rake db:test:load
- schema.rb ファイルを基にtest環境のDBを構築
- rake db:test:prepare
- 未反映のマイグレーションがないことを確認してから db:test:load実行
- rake db:test:purge
- test環境のDBを空にする
2) テストの実行
- rake test
- 定義済みの全Unit, Functional,Integrationテストを実施.
- rake test:controllers
- `test/controllers`に配置されたcontrollerの機能テストを実施
- rake test:functionals
- `test/controllers`, `test/mailers`および`test/functional`に配置されたテストユニットを全実施
- rake test:helpers
- `test/helpers`に配置されたヘルパークラスのテストを実施
- rake test:integration
- `test/integration`に配置されたインテグレーションテストを実施
- rake test:mailers
- `test/mailers`に配置されたメール機能テストを実施
- rake test:models
- `test/models`に配置されたモデルの機能テストを実施
- rake test:recent
- 最近変更のみテスト?(詳細未確認)
- rake test:uncommitted
- SubversionやGitでコミットされていないテストを実施?(詳細未確認)
- rake test:units
- `test/models`, `test/helpers`,`test/unit`に配置されたテストユニットを全実施
これを見て分かるように、test/unit という独自ディレクトリに、MVCモジュールと関係のないテストユニットを配置できる。
詳細は以下のファイルを参照(rails4 -- 2012.2.24時点)
(Rubyのインストールされたディレクトリ)/ruby/gems/x.x.x/gems/rails-x.x.x/guides/source/testing.md
基本的にこの内容を理解できればRails上でのRake操作はほぼ把握できると思われる。
Ruby gemパッケージには(no-docインストールしなければ)それぞれドキュメントが添付されており、それを参照することでパッケージの利用方法を得ることができるので、そちらを参照することで知りたい情報を知ることができる可能性もある。
(gem server とコマンド入力することでブラウザでドキュメント参照できる)==>便利!
PR
カレンダー
フリーエリア
最新CM
最新記事
(06/05)
(06/04)
(06/04)
(11/18)
(11/18)
ブログ内検索
最古記事
(09/15)
(09/20)
(09/27)
(09/27)
(10/11)
COMMENT