&tag(WebMock);
*目次 [#w5ecdb94]
#contents
*参考情報 [#p3abd201]
-[[bblimke/webmock · GitHub:https://github.com/bblimke/webmock]] // 公式
-[[[Gem] webmock RSpecのWebアクセスのモックを作成してくれる超便利Gem [Rails] - 酒と泪とRubyとRailsと:http://morizyun.github.io/blog/webmock-rspec-gem-ruby-rails/]]

*インストール [#vb033331]
-Gemfileを編集
#pre{{
group :test do
  gem 'webmock'
end
}}
-インストール 
 $ bundle install --path vendor/bundle


*サンプル [#g9fa72df]
-例えば以下のようなspecファイルでテストできる。stub_requestを使ってそのURLにたいするリクエストの応答を予め定義しておくことが可能。
#pre{{
# -*- coding: utf-8 -*-
require 'spec_helper'
require 'webmock/rspec'
require 'open-uri'

# 全てのリクエストを行わない
WebMock.allow_net_connect!
WebMock.disable_net_connect!

describe 'サンプル' do
  before do
    html = <<EOS
<html>
<head>
  <title>テストです</title>
</head>
<body>
</body>
</html>
EOS
    url = 'http://www.example.org/'
    stub_request(:get, url).to_return({:body => html,:status => 200})

    body = open(url).read
    @title = nil
    if body =~ /<title>([^<]+)</
      @title = $1
    end
  end

  it {@title.should == 'テストです'}
end

}}

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS