使用rspec 3.0模拟模型

时间:2014-08-12 17:27:39

标签: ruby-on-rails ruby ruby-on-rails-3 unit-testing rspec

我有一个model课程。我如何mock这个课程和方法,以便我不会使用API​​。

class User
  get :all, '/user'
  get :find, '/user/:id'
end

下面是我的spec,我想测试all和find方法而不需要使用API​​。

RSpec.describe User do
  it 'finds an user' do
    //User.find(id: '22', authorization: @auth);
  end
end

我如何模拟模型及其方法,以便我可以在不需要API的情况下对其进行测试。

1 个答案:

答案 0 :(得分:1)

您可以使用预期参数存根预期的方法调用,并返回如下模型模拟:

    User.should_receive(:find).with(search_parameters).and_return(mock_model(User))

但我猜您不需要,因为我认为已经发现已经过测试。