Ruby on Rails 3 Tips, Ruby on Rails メモ

バッチ処理として書いたrbファイルをテストする場合 テストケース内で system("ruby バッチファイル") としても良いが たとえばTimecopで日付を固定してテストする場合には具合が良くない。 バッチのプロセスが別プロセスで動くため、Timecopの設定がバッチに反映されない。 なので systemで呼び出している部分を load "バッチファイル" というように、loadに変えると、そのバッチ処理が都度ロードされるので テストを実行しているプ ...

Ruby on Rails 3 プラグイン

日時によって表示項目を制御したりする場合に、よくDate.todayとかDateTime.nowとかを使ったりすると思うが このシステム日時を取得している場所のテストをうまく実行したい場合に役に立つプラグインが Timecop です。 ようは、Date.todayとかで返ってくる日時を固定してしまうというプラグイン。 インストールは Rails2.*系であれば、config/environments/test.rbあたりに config.gem 'timecop', :version => ...

Ruby on Rails 3 プラグイン

デファクトスタンダードな、Railsのテストツール ホームページ 公式 まだタグでv3.0.0正式対応のものがないようなので、bataを使う インストール Gemfileに group :test do gem 'rspec-rails', '~>2.0.0.bata', :require => 'rspec-rails', :group => :development end を追加して bundle install 実行 rspec用タスクを生成 rails g rspec ...

Ruby on Rails 3 プラグイン

fixtureの代替となるツール ホームページ Github インストール Gemfileに group :test do gem 'factory_girl_rails' end を追加して bundle install 実行 使い方 定義 specフォルダの下にfactoriesフォルダを作成 このフォルダの中にrbファイルを作成し、そこにデータのひな形を作成する #spec/factories/users.rb  Factory.define :user do |f| f.nam ...