基本用法

鑑於 class 如下:

class Cube
  attr_reader :height, :width, :depth

  def initialize(args)
    @height = args[:height] || args[:y] || 1
    @width  = args[:width]  || args[:x] || 1
    @depth  = args[:depth]  || args[:z] || 1
  end

  def volume
    height * width * depth
  end
end

如果 cube.volume 等於 60 則傳遞以下示例,否則失敗。它使用最常用的內建匹配器 eq,它只測試相等性。

RSpec.describe Cube do
  it "calculates it's volume" do
    cube = Cube.new(x: 3, y: 4, z: 5)
    expect(cube.volume).to eq(60)
  end
end