問題タブ [webmock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
92 参照

google-maps - Google マップ API をクエリするときに curl がファイルにパイプしない

ジオコーダ gem を使用して住所から位置情報を生成する Ruby アプリケーションに取り組んでいます。テスト中に webmock を使用して API への呼び出しをスタブ化しようとしています。

Webmock には、ファイルからモック応答を作成するオプションがあり、で記録された応答を再生する方法の説明があります。curl -is

https://github.com/bblimke/webmock#replaying-raw-responses-recorded-with-curl--is

私は以前にこれを別の URL で動作させるようにしましたが、次のコマンドを試したときは動作しませんでした。

curl -is http://maps.googleapis.com/maps/api/geocode/json?address=Falmouth,%20Cornwall&language=en&sensor=false > other.txt

上記のコマンドを実行すると、必要なすべてのデータが端末に正しく出力されますが、ファイルには何も書き込まれません。オプションで試してみました--no-keepaliveが、修正されません

0 投票する
1 に答える
337 参照

ruby-on-rails - テスト実行時に VCR/Webmock ログを stdout から削除する

標準の Rails 3.2.19 プロジェクトで、RSpec を使用してテストを実行すると、VCR カセットを使用すると、stdout に次のログが表示されます。

これらを代わりに log/test.log に移動するにはどうすればよいですか?

0 投票する
1 に答える
1400 参照

ruby - HTTP リクエストをスタブ化する目的は何ですか (例: WebMock gem を使用)?

参考までに、私は新進気鋭の開発者です。Ruby gem の http POST メソッドのテストを作成しようとしています。私が理解できることから、たとえばRuby WebMock gemを使用してhttp応答をスタブすると、基本的に何を投稿するかを伝え、次に何を応答するかを人為的に伝えています。たとえば、テストしようとしているコードは次のとおりです。

次のように書くと、RSpec テストが失敗します。

Githubrepo.create(:repository => 'test', :username => 'test_user', :password => '1234')

実際の HTTP リクエストを作成するためです。代わりに次のことを行うことをお勧めします。

しかし、私には、基本的に何を送信し、何を応答するかを伝えているため、これは無意味に思えます。私はURLを編集して言うことができ、"https://bananas@git-banana.banana"RSpecheaderContent-type => 'Rumplestilskin'それでOKです。createこれを上記で指定したメソッドの機能のテストにどのように統合すればよいでしょうか? または、もしあれば、誰かがこの質問の助けになる初心者ガイドやブログを教えてもらえますか? Ruby gem の README は、ユーザーがこのことについてすでに 1 つまたは 2 つのことを知っていることを前提としているようですが、私は知りません。

0 投票する
2 に答える
6114 参照

ruby - WebMock は失敗した API をシミュレートします (インターネットなし、タイムアウト ++)

Webmock を使用して、サーバーやタイムアウトが見つからないなど、Web API からの予期しない動作をシミュレートしようとしています。

これを行う最良の方法は何ですか?私が考えることができるのは、次のようなことをすることだけです:

これは 404 などの場合に機能するはずですが、タイムアウトサーバーが見つからない/オフライン サーバー、およびインターネット接続がないことをテストするにはどうすればよいですか?

0 投票する
2 に答える
629 参照

ruby-on-rails - Rails:この外部サービス呼び出しをスタブしてテストする方法は?

こんにちは、Rails モデル内に次のようなコードがあります。

テストは次のとおりです。

テスト中に呼び出されないように外部サービスを効果的にスタブするにはどうすればよいですか?

0 投票する
0 に答える
428 参照

ruby-on-rails - 偽のブレインツリーの外部リクエストをスタブできません

私は、braintree で支払いを処理しようとするメソッドをテストしているコントローラー テストを行っています。プロジェクトに偽の Braintree を追加しようとしましたが、テストを実行すると、webmock から、この要求をスタブする必要があると言われました。

ポート番号が異なるため、stub_request の url パラメータに正規表現を使用しています。

残念ながら、テストを実行すると、まだ webmock からリクエストをスタブする必要があるというメッセージが表示されます。

0 投票する
2 に答える
8102 参照

ruby-on-rails - WebMock に問題があり、スタブが正しくない

Ruby 1.9.3、RSpec 2.13.0、WebMock 1.17.4、Rails 3

会社のアプリのテストを書いています。問題のコントローラーは、顧客が発信した通話の表を表示し、並べ替え/フィルター オプションを使用できます。

編集recorder_server現在のセットアップでは、ローカルで実行されていないか、正しくセットアップされていないため、パスがレンダリングされないため、テストは失敗します。これも手伝ってください。

  1. 通話が発信されると、そのデータはRecorderと呼ばれる外部 API によって作成されたxml ファイルに結合されます。
  2. RecordingsControllerは xml ファイルを受け取り、ハッシュに解析します。
  3. 関連付けられたパスにアクセスすると、ハッシュの結果が表示されます。これは、発信された呼び出し、その属性、および並べ替え/フィルターのパラメーターのテーブルです。

ここまでが私のスペックです。

そして、ここに RecordingsController があります

すべてのアドバイスは大歓迎です。ありがとうございました。