忍者ブログ

ぢみへんプログラミング日誌

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Rakeで実行できるRails環境でのテストタスク

Railsでの単体テストの実行にはrakeコマンドを多用しなければならないが、このコマンドで実行できる作業(以下「タスク」と呼ぶ)は数多いため、いくつかポイントになりそうな情報をここに書き留めておく。

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を空にする
尚、テスト用データの作成は、test/fixture ディレクトリにてyamlファイルを編集することで行う。

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

COMMENT

NAME
TITLE
MAIL (非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS (コメント編集に必須です)
SECRET
管理人のみ閲覧できます
 
  

カレンダー

10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

フリーエリア

最新CM

バーコード

ブログ内検索

Copyright ©  -- ぢみへんプログラミング日誌 --  All Rights Reserved

Design by CriCri / Material by petit sozai emi / powered by NINJA TOOLS / 忍者ブログ / [PR]