如何在特定线路上运行 RSpec 测试?

Kav*_*haj 3 ruby rspec ruby-on-rails ruby-on-rails-4

我有下一个规范文件:

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
Run Code Online (Sandbox Code Playgroud)

我想从 16 行(不是整个测试)运行测试,所以我输入:

rspec spec/models/orders_spec.rb -l16
Run Code Online (Sandbox Code Playgroud)

我没有得到运行测试,而是得到下一个错误:

invalid option: -l18
Run Code Online (Sandbox Code Playgroud)

如何从某一行运行测试?

Tay*_*ser 7

你会想要使用格式rspec path/to/spec.rb:line_no

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

如果您想要更多阅读,这里有一个指向RelishApp(RSpec 文档的最佳位置)的链接。