2012-01-28 20 views
7

私は宝石としてAPIラッパーを作成しています。私はRSpecを使用してAPIレスポンスをテストしたいと思います。RSpecとVCRを使用したWeb APIのテスト

例えば:

これに伴う問題は、すべてのAPIリクエストがGETを使用して作られた、およびURLでAPIキーが含まれていることですgame/metadata/{api_key}

gitリポジトリの履歴にAPIキーを保存したくないため、これはテストに問題があります。これらの仕様テストを、RSpec/VCRで行うことができ、バージョンコントロールにAPIキーを保存しない方法はありますか?

私は環境変数を使用しようとしましたが、VCRは依然としてレスポンスボディだけでなくリクエスト全体を保存しています。

答えて

20

VCRは、特にこのような場合のための設定オプションがあります。

VCR.configure do |c| 
    c.filter_sensitive_data("<API_KEY>") { MyAPIClient.api_key } 
end 

は大きな例えばhttps://www.relishapp.com/myronmarston/vcr/docs/configuration/filter-sensitive-dataを参照してください。

+0

これはうまく見えます、私は今それをチェックするつもりです。 –

+0

素晴らしい作品です。ありがとうございました。 –

関連する問題