私のアプリは、ジオコーディング用の Google マップと支払い用の Stripe とのインターフェイスを備えています。VCRを使用して、これらのサービスへのすべての要求をモックしました。これはうまく機能します。しかし、両方のライブラリはまだjavascript_include_tag
s にロードされています。統合テストをインターネットから完全に切断して実行できるようにするには、これに対処する最善の方法は何ですか?
2 に答える
0
JavaScript をスタブ化したいのなら、そもそも対話を記録する必要はありません。何か不足していますか?
テストからのジオコーディングは、Google マップの ToS に違反していると確信しています。あなたがしたいことは、ジオコーディング自体をスタブすることだと思います。
Stripe を使用したことはありませんが、次のアプローチを取るかもしれません: 仕様ヘルパーにメソッドを追加して、Stripe JavaScript をローカルにキャッシュします。つまり、接続が利用可能になったら、Stripe JavaScript をダウンロードします。次に、Rails.env.test? の場合、ビューで JavaScript をローカルにロードします。
于 2013-01-25T20:26:08.983 に答える
0
最近解決策を探している人には、Puffing Billyという素晴らしい宝石があります。
VCRを使用してサーバー コードによって行われた外部要求を記録および再生できるようにするのと同様に、このライブラリを使用すると、クライアント コードによって行われた外部要求に対して同じことを行うことができます。
于 2020-03-19T22:10:11.803 に答える