我喜並試圖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