0

次の例を検討してください。

describe UsersController do
  it "works for something" do
    # some other code
    get :show, {facebook_id: 1000000000}
    # some other code
    put :update, {facebook_id: 1000000000, birthday: "2001-01-01"}
    # some other code
    get :show, {facebook_id: 1000000000}
    # some other code
  end

  it "works for another thing" do
    # some other code
    get :show, {facebook_id: 1000000000}
    # some other code
  end
end

、など{facebook_id: 1000000000}を簡単に書けるように乾燥させるにはどうすればよいですか?get :showput :update, {birthday: "2001-01-01"}

4

2 に答える 2

1

どうですか

def options(*args)
  _options = args.extract_options!
  _options.merge({facebook_id: 1000000000})
end

それから

get :show, options
put :update, options(birthday: "2001-01-01")
于 2012-10-07T05:12:02.973 に答える
0

コントローラはその facebook_id で何をしますか? テストしていないときにそのfacebook_idを必要とするメソッドをスタブします。ここで提案したようなものですRSpec Request - How to set http authentication header for all requests

于 2012-10-17T00:02:18.147 に答える