我喜并试图RSPEC模拟以下类:如何RSPEC模拟红宝石轨道记录器类
class Person
def initialize(personid)
Rails.logger.debug "Creating person with id #{personid}"
end
end
使用此:
require 'spec_helper'
describe Person do
describe "#initialize" do
let(:rails_mock) { double("Rails").as_null_object }
let(:logger_mock) { double("Rails.logger").as_null_object }
it "logs a message" do
rails_mock.stub(:logger).and_return(logger_mock)
logger_mock.should_receive(:debug)
Person.new "dummy"
end
end
end
,并得到这个消息:
RSpec::Mocks::MockExpectationError: (Double "Rails.logger").debug(any args)
expected: 1 time
received: 0 times
任何帮助将是伟大的!
这并不为我工作。我得到了'未定义的方法'stub_chain'for Rails:Module(NoMethodError)' – tamouse