Techioz Blog

特定の回線で RSpec テストを実行するにはどうすればよいですか?

概要

次の仕様ファイルがあります。

require 'rails_helper'

describe Order do
  it "calculates the total price of the order" do
    item1 = create(:item)
    item2 = create(:item, price: 20)

    order = create(:order)
    order.items << item1
    order.items << item2

    order.calculate_total
    expect(order.total).to eq(30)
  end

  it "raises exception if order has no items in it" do
    expect { create(:order) }.to raise_exception
  end
end

そして、16 行目 (テスト全体ではありません) からテストを実行したいので、次のように入力します。

rspec spec/models/orders_spec.rb -l16

テストを実行する代わりに、次のエラーが発生します。

invalid option: -l18

特定の行からテストを実行するにはどうすればよいですか?

解決策

rspec path/to/spec.rb:line_no という形式を使用するとよいでしょう。

(例) rspec spec/models/orders_spec.rb:16

さらに詳しく読みたい場合は、RelishApp (RSpec ドキュメントの最適な場所) へのリンクを示します。