【影片教學】RSpec技術分享系列1 - 超基本使用方法
完整8部影片教學內容
概要
- 如何安裝RSpec 
- 如何用單一檔案執行RSpec 
- describe及- it用法簡介
- 兩個使用案例 
參考資料
筆記
版本
Ruby版本: 2.1.2
RSpec版本: 3.2.0
安裝
$ gem install rspec
$ gem install httpclient
簡易數學
require 'rspec'
describe "Math" do
  it 'do basic math' do
    expect(1+1).to eq(2)
  end
end
執行
$ rspec basic_spec.rb
薪水分類
require 'rspec'
class Divider
  def salary_divide(salary)
    case salary
    when 0..300000
      "年收入30萬以下"
    when 300000..600000
      "年收入30~60萬之間"
    when 600000..900000
      "年收入60~90萬之間"
    else 
      "年收入90萬以上"
    end
  end
end
describe "salary" do
  it 'is categorized successfully based on input' do
    expect(Divider.new.salary_divide(250000)).to eq("年收入30萬以下")
    expect(Divider.new.salary_divide(290000)).to eq("年收入30萬以下")
    expect(Divider.new.salary_divide(358000)).to eq("年收入30~60萬之間")
    expect(Divider.new.salary_divide(540000)).to eq("年收入30~60萬之間")
    expect(Divider.new.salary_divide(744000)).to eq("年收入60~90萬之間")
    expect(Divider.new.salary_divide(950000)).to eq("年收入90萬以上")
  end
end
確認連線正常
require 'rspec'
require 'httpclient'
describe "connections" do
  it 'are stable' do
    expect(HTTPClient.new.get("https://rspec.info/").status).to eq 200
    expect(HTTPClient.new.get("https://rspec.info/").body).to include("Behaviour Driven Development in Ruby with RSpec")
    expect(HTTPClient.new.get("https://evernote.com/intl/zh-tw/").status).to eq 200
    expect(HTTPClient.new.get("https://www.linode.com/").status).to eq 200
  end
end

