Marnen E. Laibow-Koser September 2010, revised June 2012 Why do we need it? Many Web applications call remote services Good testing practice requires us to test these calls How do we test this code? class Twitter include HTTParty def self.user_info(username, format = :json) get "http://api.twitter.com/1/users/show/#{username}.#{format}" end end The obvious approach Call the external service and ma
Requests to external services during test runs can cause several issues: Tests failing intermittently due to connectivity issues. Dramatically slower test suites. Hitting API rate limits on 3rd party sites (e.g. Twitter). Service may not exist yet (only documentation for it). Service doesn’t have a sandbox or staging server. When integrating with external services we want to make sure our test sui
RubyやRailsで外部APIを利用するソフトウェアを開発しているときに、テストで実際に何度もAPIに問い合わせにをしていたら、遅くて話になりません。ましてや、外部APIがメンテナンスなんてことになったら、開発が止まってしまいます。 そこで、webmockなどを利用して、HTTPリクエストやレスポンスのmockを作成することが望ましいです。 vcrを組み合わせて利用すれば、初回だけ実際にHTTPリクエストとレスポンスを記録して、2回目以降は記録したデータからmockとしてデータを返すように簡単にできます。 webmockとvcrのインストール方法Gemfileに以下のように記述する group :development, :test do gem 'webmock' gem 'vcr' endgemをインストールする $ bundletest/test_helper.rbにVCRに関する
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く