我想单元测试使用RSpec为回报率的方法和有一个方法是这样的:Ruby/Rails测试 - 范围之外的访问变量?
def create_record(obj, params)
begin
obj.add_attributes(params)
result = obj.save
rescue
MyMailer.failed_upload(@other_var, obj.api_class_name, params).deliver_now
end
end
create_record
从不直接调用,而是通过其填充在适当@other_var
另一种方法。
我应该如何去测试代码以确保MyMailer被正确调用?我应该通过@other_var
进入该方法,而不是依赖它在其他地方填充(又名:这是代码味道?)?谢谢!
存根'obj.save'引发一些错误,并检查'ActionMailer :: Base.deliveries.count'是否增加了一个。 –