Use space bar or arrow keys to navigate, and escape for index. Built with Slippy.
csrf-pluginをインストールする $ ruby script/plugin install http://svn.techno-weenie.net/projects/plugins/csrf_killer/コントローラーにverify_tokenを書く class AccountController < ApplicationController verify_token :only => :index READMEに従いtest/test_helper.rbでTestSessionを拡張する ActionController::TestSession.class_eval do def dbman @dbman ||= CGI::Session::CookieStore.new(nil, 'secret' =>'csrf-killer') end end これでテストをしてみる
● [テスト] should change に見る UnitTest と RSpec の違い Yugui さんに Proc#should change が便利だと教わった。 Spec::Matchers::Change Spec::Matchers::Change を使うと、一連のコード(proc)実行時に変化したこと(仕様)を簡単に記述することができる。 should change(receiver, message, &block) should change(receiver, message, &block).by(value) should change(receiver, message, &block).from(old).to(new) should_not change(receiver, message, &block)
RailsのAPIドキュメントいろいろ Rails-doc 検索キーワードを途中まで入力すると、候補をリストアップしてくれる機能が便利。 快適に動作するし、見やすい。 RailsBrain.com こちらも便利。 Ruby on Railsのバージョンごとにドキュメントを選択できるのがうれしい。 Ruby on Rails API 候補をリストアップしてくれるけど、期待しているものがない。 なんでだろう。 gem server コマンドラインから「gem server」と入力。 その後「http://localhost:8808」にアクセスする。 rakeでAPIドキュメントを作成する 「gem server」で見ることのできるドキュメントと同じ。 rake rails:freeze:gems rake doc:rails http://api.rubyonrails.org/ gem_s
WEB+DB PRESS Vol.45のBDD特集を教科書に、rspec-railsを扱ってみた。教科書があることが前提なので、これを買って読んでいない人には意味不明な記事になると思う。 ただし、完全に本と同じやり方をしてはいない。最新バージョンを使うからインストール方法などいろいろと違うし、Seleniumも使わない。また、本では触れていない事柄についても少し調べた。そんなわけで、本の通りにやらなかったところをメモ書きしておきたい。 環境は次の通り。 Ruby 1.8.7 Ruby on Rails 2.1.0 RSpec 1.1.4 rspec-rails 1.1.4 Rcov 0.8.1.2.0 Git 1.5.5.4 アプリケーション作成 いつも通り。本ではPostgreSQLを使っていたが、華麗に無視してSQLite3を使う。簡単。 $ rails bbs $ cd bbs rs
織田信長 ぼちぼち、元気にやっています。少し薬にも慣れた...んかなぁ。相変わらず食べられないけど。朝、指がこわばって文字なんて入力できなかったけど、それはほぼなくなった。関節もどこも痛くない。薬効いてきたんやろな。 で、ブログを書こうと言う気がまた起きてきた。 …
RailsでActiveRecord(DB)のトランザクション処理をテストする際のメモ。 トランザクション処理 簡単な例として以下のコードを考える。 class User def destroy_with_transaction User.transaction do destroy raise end end end テストコードを書く User#destroy_with_transactionは必ず例外が起こるので、トランザクションの働きで、レコードは削除されないことになる。よって、テストコードは以下のようになる。なお、フィクスチャとしてusers.ymlがあるとする。 class UserTest < Test::Unit::TestCase self.use_transactional_fixtures = false fixtures :users def setup @bob
Mock Object Mock Objectの作成 my_mock = mock(<name>) my_mock = mock(<name>, <options>) person = mock('person', :null_object => true) Mockは名前を引数に取る。仕様の検証が終わった際に全てのMockが検証される。 option引数をハッシュで与えることでMockの振る舞いを調整できる。現在、:null_objectのみがサポートされている。:null_object => trueを引数に渡すとMockに対する全てのメソッドがMock自身を返すようになる。 Mockに対してスタブメソッドを定義する person.should_receive(:name) # person.name => nil person.should_not_receive(:name) #
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く