環境
- rails(ruby2.1.0, rails4.0.3)
- mongoDB
rspecでmodelのテストを行う時、メソッドの引数パラメーターにparamsをそのまま指定することがあると思います。例えば、以下のようなケースです。
test.rb(Model)
# params is request parameter from controller def self.create_with_test(params, user_id) create! do |test| test.value = params[:test][:value] test.user_id = params[:test][:user_id] // something end end
上記のparamsはcontrollerから渡されたリクエストパラメーターです。こういった書き方でModelだけのテストする場合は、パラメーター(params)をrspec側で作成してしてやらないといけません。
やり方は、Hashを使用することになります。以下、サンプルです
test_spec.rb(Model)
user = FactoryGirl.create :test_user1 // dummy test request parameter params = {:test => { :value => 'my name is jone', :user_id => '1q2w3e4r5t6y' }, :name => 'ssssss' } user_id = user.id Test.create_with_test(params, user_id)
上記のようにすることで、リクエストパラメーター作成してテストを通すことができます。
0 件のコメント:
コメントを投稿