2013-03-08 23 views
13

Yahoo Fantasy Sports APIへのC#クライアントライブラリ呼び出しをテストする自動統合テストスイートを作成しようとしています。いくつかのAPI呼び出しには、OAuthトークンが必要です.OAuthトークンは難しいところです。 Webブラウザを使ってアクセスキーと秘密を生成し、それをテストコードに渡すことができますが、トークンは1時間後に期限切れになるので、手動で再生成してテスト設定を更新する必要があります。テスト。OAuthトークンを必要とするユニットテストAPI

OAuthトークンが必要な場合にAPI統合テストを作成するためのベストプラクティスはありますか?

+0

キーの生成を自動化できませんか?それにはREST APIがありますか?または、httpリクエストをコードで実行するだけで済みます。 – blank

+0

@Sean、どうやってYahoo Fantasy Sports APIを嘲笑したのですか?コードフレームワークを作成しましたか?私はAPIを模倣する必要があり、あなたがそれをやった方法について学びたいと思っています。 –

+0

私はそれを完全に嘲笑することは決してできませんでした。私は進行中のフレームワークを持っています。https://github.com/sconno05/yahoo-fantasy-football-toolsで見ることができます。私はトークンを環境変数に入れてしまったが、Web管理者ページを介してトークンを再生成する必要がある。 – Sean

答えて

3

通常、このようなAPIは、ブラウザを使用せずに認証トークンを取得する方法を提供します。私はヤフースポーツがそれらの1つであるかどうかわからない。

通常、OAuth2システムにアクセスするためにアプリケーションを作成し、ClientIDとClientSecretを与えてから、トークンURLをヒットして1時間有効なアクセストークンを受け取ります。

しかし、統合テストを行わないことを検討したいと思うかもしれません。もし私があなただったら、私は単にApiの反応を嘲笑し、あなたのテストでそれを使用します。したがって、各呼び出しのレスポンスのサンプルを取得してから、偽のレスポンスを作成して、ヒットするたびにレスポンスを返します。それでもテストを実行できます。

答えが必要な質問は次のとおりです。正確に何をテストしていますか?サードパーティのAPiをテストしているのですか、独自のコードをテストしますか?

また、各apiが特定の時間枠の間に一定回数ヒットすることを忘れないようにしてください。偽造するもう一つの理由は、私は言うだろう

+0

OAuthを実装するサードパーティのAPIをテストしている場合 –

関連する問題