为什么我的rspec控制器不会测试对象的等价性?

时间:2015-04-06 20:58:01

标签: ruby-on-rails rspec

每次都会返回一个错误的测试。我还使用了be_an_instance_of匹配器。

 def new
   @partner_setting = PartnerSetting.new

  respond_to do |format|
  format.html # new.html.erb
  format.json { render json: @partner_setting }
end


it 'assigns a valid partner settings object to @partner_setting' do
  expect( assigns(:partner_setting) ).to be_an PartnerSetting
end

3 个答案:

答案 0 :(得分:1)

我没有看到

   get :new
你的代码中的

。您必须先调用控制器操作。

答案 1 :(得分:1)

您需要告诉您的测试转到控制器操作。怎么还知道要测试什么?所以在您预期之前,您需要添加。

get :new

答案 2 :(得分:0)

旁注:

it 'the action assigns a non nil and valid Object to @partner_setting' do  
  expect(assigns(:partner_setting)).should_not be_nil
  expect(assigns(:partner_setting)).to be_an Object
end

WORKS !!!即使得到#new ISN' T也叫!

默认操作是重定向到登录页面!