在我的控制器中,我有以下方法:
def set_provider
@provider = Provider.find_by(id: params[:id])
return @provider unless @provider.active
@provider = IntegrationProvider.new(@provider.slug).proxy_to.find_by(id: params[:id])
end
我正在尝试用以下测试覆盖:
context 'active' do
before do
@provider = FactoryGirl.create(:provider, :active)
get :show, id: @provider.id
end
it '200' do
expect(response.status).to be(200)
end
it 'assigns @provider' do
expect(assigns(:provider)).to eq(@provider)
end
end
IntegrationProvider类基本上是Provider模型的子模型。由于这些可以是动态的,而我正在使用FactoryGirl,我认为存根在这里效果最好。在代码库中,slugs对应于文件夹,因此我不想在此控制器类中测试其他类。我会为我的lib类测试保存它。
问题
如何存根IntegrationsProvider类以便它返回Provider模型?
答案 0 :(得分:2)
这样的事情应该有效:
private