我在下面的代碼片段我CompaniesController
Rspec的用於構建嵌套屬性
class CompaniesController < ApplicationController
def new
@company = Company.new
@company.employees.build
end
在我Rspec的我怎麼能檢查build
方法被稱爲內部new
行動?
我想是這樣的
expect(assigns(:company).employees).to have_received(:build)
,但我收到以下錯誤信息:
#<Employee::ActiveRecord_Associations_CollectionProxy:0x007fe2ca2141e8> expected to have received build, but that object is not a spy or method has not been stubbed.
我需要先存根員工?
更新:
Rspec的新行動
describe "GET 'new'" do
before { get :new }
it 'assigns @domain_name' do
expect(assigns(:domain_name)).to eq(request.host)
end
it 'assigns @company' do
expect(assigns(:company)).to be_a_new(Company)
end
it 'renders the new template' do
expect(response).to render_template('new')
end
末
感謝
請問您可以發佈** **新方法的測試塊嗎? – Emu
@Emu我已經用新方法的測試塊更新了我的問題。 – Reboot