我正在使用rspec-fire嘲笑一个有效的记录查找器:
user_class = fire_class_double('User').as_replaced_constant
user_class.should_receive(:find_by_email).with(email).and_return(user)
当我运行它时,rspec-fire抱怨User类没有实现find_by_email。
readme表示可以通过继承FireDouble来加倍类方法。但是,我无法弄清楚如何做到这一点。此外,FireDouble类似乎已被FireDoublable模块替换。
有什么想法吗?
答案 0 :(得分:0)
这不是直接可行的,因为AR查找器实际上并未以正常方式定义为方法。列访问器的相同交易。最简单的方法是明确定义要使用的方法:
class User < ActiveRecord::Base
def self.find_by_email(*args); super; end
end