サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
starryskylogic.blogspot.com
画像をformからアップロードする時のバリデーションテストをどうするか? という話をメモしておきます。 [環境] CentOS6.2 Rails 3.2.2 Ruby 1.9.3-p125 (1)テスト対象のModel前回に引き続き 簡易blog(食べたもの記録)アプリの記事本体部分を想定。 Modelの名前はDiningとします。 app_root/db/migrate/[date]_dinings.rbより抜粋すると class CreateDinings < ActiveRecord::Migration def change create_table :dinings do |t| t.date :date #日付 t.string :time #「朝」「昼」「夜」が入る t.string :menu #「食べたもの」 t.integer :price #「お値段」 t.stri
というわけでModelのバリデーション機能をテストしていきます。 [環境] CentOS6.2 Rails 3.2.2 Ruby 1.9.3-p125 (1)テスト対象のModel 簡易blog(食べたもの記録)アプリの記事本体部分を想定。 Modelの名前はDiningとします。 app_root/db/migrate/[date]_dinings.rbより抜粋すると class CreateDinings < ActiveRecord::Migration def change create_table :dinings do |t| t.date :date #日付 t.string :time #「朝」「昼」「夜」が入る t.string :menu #「食べたもの」 t.integer :price #「お値段」 t.string :shop #「店」 t.string :p
さて、標題にはTDDと書いてますが実際にはコード書いてからテスト書いてたりしてます。 手元でちまちま書いてるアプリもさすがにテストも無しではいかんだろうということで まずは手元にあるコードのカバレッジが100%となるテストを書き、 その後次に何か乗っける時からはテストから書いていきたいと思います。 というわけで今回はテスト環境の導入編から。 この記事で前提とする環境は ・CentOS6 ・Ruby on Rails 3.2.2 ・Ruby 1.9.3 p-125 ・MySQL となっています。 (1)テストに必要なGemの導入 app_root/Gemfileに以下の記述を追加 gem 'rspec-rails' gem 'simplecov', :require => false #gem 'simplecov-rcov', :require => false gem 'spork' '
というわけで。 簡易なブログアプリを作っていて、記事の投稿・編集・削除はログインした管理者のみで行いたいので Rails3.1で追加された認証関連機能を使ってログイン機能をつけました。 参考にしたエントリー ASCIIcasts - “Episode 270 - Rails 3.1の認証機能" 以下作業メモ [環境] CentOS6.2 Ruby 1.9.3(p125) Ruby on Rails 3.2.2 1. Gemfileにbcryptrubyを追加 Gemfile内のgem 'bcrypt-ruby', '~>3.0.0~のコメントアウトを外した上で bundle install 2.ユーザmodelの作成 $ rails g model user name:string password_digest:string $ rake db:migrate ※password_dig
このページを最初にブックマークしてみませんか?
『starryskylogic.blogspot.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く