0

Web サイトにアクセスするために django-social-auth (Facebook バックエンド) 経由でログインする必要がある django プロジェクトのテスト スイートを作成しています。

私が今取っている方法は次のとおりです。

  • 各テストについて:
    • Facebook API を使用してテスト ユーザーを作成する
    • セレンを使用してログインする
    • ユーザーがログインしたら、Web サイトと対話する

問題は次のとおりです:通常のdjangoユニットテスト(セレンではありません)を使用するいくつかのテストを作成する必要があります。通常のdjango unittestを使用してログインする方法はありますか?

4

1 に答える 1

1

oauth コードはソーシャル認証と非常に結びついているため、これは簡単な作業ではありません。したがって、oauthサービスの応答が本当に必要です。

私が行ったことは、social_auth.utils.urlopen以前に記録された回答を返すモックを関数にパッチして、django-social-auth をだまして実際の oauth プロバイダーと通信していると思わせることです。

これは非常にハックなソリューションですが、隔離された環境でカスタムのソーシャル認証パイプラインをテストできます。

于 2012-11-20T23:15:40.367 に答える