我在下面的代码片段我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