1

このメソッドの単体テストを行いたいのですが、コードは次のとおりです。

 def self.find_for_facebook_oauth(access_token, sign_in_resource=nil)
    data = access_token.extra.raw_info
    if !Authentication.where(:uid => access_token['uid']).empty?
      authentication = Authentication.find_by_uid(access_token['uid'])
      if !authentication.user.nil?
        user = authentication.user
        return user
      else
        # in case for some reason the authentication has no user
        raise "Something went wrong"
      end
    else
      user = User.new
      user.authentications.build(:provider => access_token['provider'], :uid => access_token['uid'], :token => access_token['credentials']['token'])
      user.save(:validate=>false)
      return user
    end
    return false
  end

どうやってするの?ありがとうございました :)

4

2 に答える 2

4

答えはこのサイトにある

http://ashleshawrites.wordpress.com/2012/07/02/testing-omniauth-creating-mock-data/

乾杯:) Tq

于 2012-07-26T03:02:22.480 に答える
1

Omniauth-Facebook github ページのサンプル ハッシュを使用して、テストを分離できます: https://github.com/mkdynamic/omniauth-facebook

「認証ハッシュ」まで下にスクロールして、例を見つけます。あとは普通にテストするだけです

于 2012-07-20T13:43:33.710 に答える