我在自定义rspec示例组中使用Benedikt Diecke的帖子来测试活动模型序列化程序,但无法将其转换为使用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
答案 0 :(得分: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