0

我有以下内容:

规范/功能/client_logic.rb

it "says unavailable slots" do
  expect(page).to have_content("No more client slots available.")
end

哪个失败了,因为在早些时候let有一个用 100Plan创建的max_clients。有没有办法在任何给定时间为这个特性强制一个模型的特定返回值?

我认为以下方法会起作用:

it "says unavailable slots" do
  Plan.any_instance.stub(:client_slots).and_return(0)
  expect(page).to have_content("No more client slots available.")
end

但这没有用。

4

1 回答 1

1

我认为您的存根设置正确,但看起来它是在您正在测试的页面呈现后设置的。

我不确定您的测试是如何构建的,但您可以通过创建新的上下文/功能并重新定义其中的内容来解决问题let,例如:

describe '...' do
  let(:plan) { ... }
  before do
    visit '...'
  end

  context 'without any client slots' do
    let(:plan) { ... }

    it "says unavailable slots" do
      expect(page).to have_content("No more client slots available.")
    end
  end
end
于 2013-06-19T09:53:56.493 回答