Update: Capybara 0.4 is out. There have been some changes to how some of these methods work (especially XPath selectors). Full details here ...
先日、minami.rbに参加してきた、そこで教えてもらった sporkであらかじめrailsの環境を読み込んで guard でファイルの更新を監視してテストファイルの更新などの タイミングでrspecを実行することができることを教えてもらった。 忘れないうちに、内容のメモを残しておきます。 設定自体はとても簡単! @koko_uさんありがとうございます。 gemをインストール まずは必要なgemを読み込むための設定をGemfile追加する。 libnotifyとrb-notifyとかはubuntu上で通知を出すための設定 Gemfile ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ group :development, :test do gem 'guard' gem 'guard-rspec' gem 'guard-spork' gem 'spork', '>=0
ITの仕組みまとめサイト データベースの仕組みとRubyプログラムの整理用サイトです トップページページ一覧メンバー編集 Rails-migration 最終更新: celestianglobe 2010年11月03日(水) 19:38:02履歴 Tweet DBスキーマの定義をRailsで管理する際の差分(変更)を定義するための仕組みがマイグレーション。 基本コマンド $ rake db:migrate マイグレーションの仕組み あるプロジェクトで次のようにDB更新があったとする。 実際は複数テーブルが入れ子担って更新されるが、今回は偶然productテーブルだけに変更があったとする。 実行順序実行内容実行コマンド備考1productテーブルを追加するrails g migration CreateProducts通常はmodelかscaffoldを使用する2productテーブルに"K
Extended by: DSL, Forwardable Defined in: lib/capybara.rb, lib/capybara/dsl.rb, lib/capybara/config.rb, lib/capybara/result.rb, lib/capybara/server.rb, lib/capybara/window.rb, lib/capybara/helpers.rb, lib/capybara/session.rb, lib/capybara/version.rb, lib/capybara/minitest.rb, lib/capybara/node/base.rb, lib/capybara/driver/node.rb, lib/capybara/node/simple.rb, lib/capybara/node/actions.rb, lib/capy
としてscaffoldアプリケーションを起動してみましょう。起動できてからが本題です。 ユーザー等を新たに作成する際のフォームの初期値 http://(サーバーの名前/IPアドレス):3000/usersへブラウザでアクセスして、新規ユーザー登録画面を開いてみましょう。 誕生日の欄に現在の日付が表示されています。これはモデルの誕生日の初期値がnilのため、ヘルパーが本日の日付をデフォルトとしているためです。 誕生日が本日の人がwebフォームに登録するはずも無く、ユーザー視点に立てばwebサービスの主な利用者の平均年齢が選び易いように「年」は初期値を入れておきたいところです。 「本日の日付をヘルパーが入れているのであれば、ヘルパーを編集しよう」と思った方、絶対に間違い、とは言い切れませんが、あまり良い方法とは言えません。 先に書いたとおり、Userというモデル自身がデータに責任を持つべきです
伝説のウェブデザイナーを探して 西暦2012年 株式会社LIGは深刻なデザイナー不足に見舞われていた。 そんな中、過酷な労働を強いられるデザイナー達が限界を迎えようとしていた。 「もう15時か。あー、今日もよく働いた」 「おい、お前達、しっかり働けよ。俺はもう上がるからな」 「ヴぇっ!?」 「な、なにをする!」 「うっ…ぐ…」 「……………………」 ~~~~~~~~ 「……………………」 「えっ?」 「ふふふ、社長…ようやく目が覚めたみたいね」 「!? なんのつもりだ!さっさとここから出せ!」 「社長。俺達の言う事さえ聞いてくれたらすぐにでも出しますよ。」 「お前達の言う事だと…一体何が望みだ?」 「新しくウェブデザイナーを雇うこと。それが望みよ」 「ウェブデザイナーを雇うだと?!…だからって、何故こんな事を…!!」 「………………」 「クズどもが!早くここから出せ!」 「黙って聞いていれ
Rails3, OmniAuth, RSpec, Capybaraの組み合わせでエンドツーエンドのテストを書いた。カレントユーザの情報にアクセスする方法が分からず試行錯誤したが、以下の方法で解決。他に良い方法ないかな? describe "テスト対象" do before do OmniAuth.config.test_mode = true @current_user = User.create( :uid => 12234, :provider => "twitter", :screen_name => "NickName", :name => "FirstName LastName" ) OmniAuth.config.mock_auth[:twitter] = { "uid" => @current_user.uid, "provider" => @current_user.pro
Rails のテストを書いていて、フィクスチャはのちのちメンテナンスに苦労しそうだから FactoryGirl を使ってみた。 FactoryGirl についてはここが詳しい http://www.func09.com/wordpress/archives/532 上のページの例にあるとおり、中間テーブルを使うようなケースでテストデータを定義するのに便利らしい (公式ページ?でもそのように宣伝していた) のだが、中間テーブルが不要な has_many/belongs_to の関係を定義するときに、 association を親子どちらに書くかでハマってしまった。 すぐ動かせるコード例がなくて恐縮だけど、 FactoryGirl で has_many/belongs_to な association を定義するときは、必ず子のほうに親の Factory を書かないといけないっぽい。このスレッ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く