« ロードアベレージ | メイン | sshの公開鍵をリモートホストに簡単に持っていく方法 »

Railsでモックを実現

http://www.thinkit.co.jp/cert/article/0608/12/4/3.htm

memoです。

 ソースはリスト8~10のようになります。

リスト8:Railsでのモッククラス(/test/mocks/test/credit_card_auth.rb)
require 'models/credit_card_auth'
class CreditCardAuth
   def auth(card_no)
      return true
   end
end

リスト9:Railsでの本番クラス(/app/models/credit_card_auth.rb)
class CreditCardAuth < ActiveRecord::Base
   def auth(card_no)
      #クレジットカード処理を記述
      ...
   end
end

リスト10:Railsでの呼び出し側クラス
class ItemController < ApplicationController
   def buy
      card_auth = CreditCardAuth.new
      card_result = card_auth.auth(params[:card_no])
      (中略)
   end
   (中略)
end


この機構は、Rubyの「Open Class」などと呼ばれる特徴を利用しています。Open Classとは「再オープン可能なクラス」という意味で、何回でもクラスを再宣言してメソッドを追加したり上書いたりできる機構です。


トラックバック

このエントリーのトラックバックURL:
http://synth.jp/pg/mt-tb.cgi/1641

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

カレンダー


2007年06月
Su Mo Tu We Th Fr Sa
          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

Map

About

2007年06月19日 09:17に投稿されたエントリーのページです。

ひとつ前の投稿は「ロードアベレージ」です。

次の投稿は「sshの公開鍵をリモートホストに簡単に持っていく方法」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。