小编bit*_*zzy的帖子

预期:1 次接收任何参数:0 次接收任何参数

我正在测试index我的ProjectsController.

我正在使用 will_paginate gem,并且正在尝试编写一个 RSpec 测试,以确保在当前用户的项目projects_path 时调用 paginate 方法。

然而,我得到的结果不是我所期望的,我不知道为什么。

结果

Failure/Error: expect(user.projects).to receive(:paginate)
       (#<ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_Project:0x00000004719ef0>).paginate(any args)
           expected: 1 time with any arguments
           received: 0 times with any arguments
     # ./spec/requests/project_pages_spec.rb:82:in `block (3 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)

项目#index

def index
    if params[:search]
      @projects = current_user.projects.search(params[:search]).paginate(:page => params[:page], :per_page => 13)
    else
      @projects = current_user.projects.paginate(:page => params[:page], :per_page => 13)
    end 
end 
Run Code Online (Sandbox Code Playgroud)

指标测试

describe "index" do

  describe "pagination" do

    let(:user) { FactoryGirl.create(:user) }
    let(:client) { FactoryGirl.create(:client) }

    before …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails mocking

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

mocking ×1

rspec ×1

ruby-on-rails ×1