1

我正在使用 Benedikt Diecke 在自定义 rspec 示例组上的帖子来测试活动模型序列化程序,但无法将其转换为使用 mocha 而不是 rspec 模拟。

http://benediktdeicke.com/2013/01/custom-rspec-example-groups/

该示例包括一个模拟将被序列化的模型类的通用方法,它使用 rspec 模拟 - 我如何将其转换为使用 mocha?

let(:resource) do
    double(resource_name, attributes).tap do |double|
        double.stub(:read_attribute_for_serialization) { |name| attributes[name] }
    end
end
4

1 回答 1

3

我看不出在那里使用模拟可以获得很多东西。我会从资源工厂方法返回一个真实的实例,即在自定义示例组中根本不定义 let(:attributes) 而只是定义

let(:resource) do
  {}
end

然后你的序列化器规范看起来像

require 'spec_helper'

describe UserSerializer do
  let(:resource){ FactoryGirl.build(:resource_name) }

  it { should have_key(:name) }
  it { should have_key(:email) }
  it { should have_key(:created_at) }
  it { should have_key(:updated_at) }
end
于 2013-06-01T20:05:39.967 回答