我正在使用rspec验证一个邮件程序。问题是,当我想测试扩散(多个投递者,邮件),rspec给我一个错误。
我的制造者:
Fabricator(:message) do
email(count: 1) {"proof@example.com" }
subject:"Hackety-hack email"
body:"This is an email from hackety-hack.com"
end
Fabricator(:diffusion) do
email(count: 3) {"proof#{i}@example.com" }
subject:"Hackety-hack email"
body:"This is an email from hackety-hack.com"
end在我的message_mailer_spec.rb里
it "Works the diffusion" do
diffusion.to.should eq(["proof@example.com", "proof2@example.com"])
end当我试图通过考试时,会给我带来很多错误。主要(我想):
10) MessageMailer Works the diffusion
Failure/Error: let(:diffusion) { MessageMailer.new_message(Fabricate(:diffusion), Array("proof@example.com", "proof2@example.com", "proof3@example.com"))}
Fabrication::UnknownFabricatorError:
No Fabricator defined for 'diffusion'为什么?我已经创造了扩散。有人能帮我吗?
提前感谢
发布于 2013-11-14 14:33:12
如果扩散对象不是一个红宝石模型,制造宝石就很难定位它。在我看来,它看起来像是消息模型的一个子类。
试试这个:
Fabricator(:diffusion, from: message) do
email(count: 3) {"proof#{i}@example.com" }
subject:"Hackety-hack email"
body:"This is an email from hackety-hack.com"
end这应该可以解决错误。有关定义Fabricator的更多信息,请查看这里
https://stackoverflow.com/questions/19112493
复制相似问题