2017-02-24 4 views
-1

私は以下の懸念を作成しました。私は何をやっているのですか?私は値0、1、2を持ち、JSONのそれらの文字列を返すテーブルからカラムをマッピングしています。誰かが私にどのようにユニットテストケースを書くことができますか?あなたがこれを行うことができます任意のモジュールについては問題の仕様書を書く方法

module User 
    extend ActiveSupport::Concern 

    included do 
    def user_mapping(user_in_number) 
     user_hash = { 
     '0'=> 'Support', 
     '1'=> 'Developer', 
     '2'=> 'Business Analyst' 
     }.freeze 
     user_hash[user_in_number] 
    end 
    end 
end 

おかげ

答えて

1

subject = Class.new do 
    include User 
end.new 

assert subject.user_mapping('0'), 'Support' 

Class.newanonymous classを作成し、ブロックはそうの体のように作用して、匿名クラスのコンテキストで評価されます普通のクラス。

次に、匿名クラスのインスタンスを作成し、含まれているモジュールで定義されているメソッドを呼び出します。実際の方法は非常に多くのVARSを割り当てる必要はありませんちなみに

:指定された鍵が見つからない場合は

UserMap = { 
    '0'=> 'Support', 
    '1'=> 'Developer', 
    '2'=> 'Business Analyst' 
    }.freeze 

def user_mapping(user_in_number) 
    UserMap.fetch(user_in_number) 
end 

fetchが発生します。

私はまた、あなたがUserクラス...

を必要とすることはありません、モジュールの名前 Userを再考するかもしれないと思います
関連する問題