Rails - Rspec测试失败

时间:2014-07-07 15:56:25

标签: ruby-on-rails rspec

我试图期望一个带有任何参数的方法调用,但我确实想要手动检查我对do块做的期望的参数。

我得到一个异常,说该方法被调用了两次,但我在该方法中的日志显示它只被调用一次。知道是什么导致了这个吗?

要测试的方法

  def users
    pp ('Users got called') # only gets logged once
    render(template: 'users-template.json.jbuilder', locals: { users: @users })
  end

测试

  # Test
  describe 'users' do
    it 'Should only list users' do    
      expect(controller).to receive(:render) do |params|
        pp (params.class)
      end

      get :users
    end
  end

异常

 Failure/Error: expect(controller).to receive(:render) do |params|
   (#<API::V2::MyController:0x0000010c95d438>).render(any args)
       expected: 1 time with any arguments
       received: 2 times with any arguments


EDIT:

如果我取消注释触发方法调用的代码行,则使用任何参数说出0次。

0 个答案:

没有答案