環境
- 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 件のコメント:
コメントを投稿