RSpec에 예 글로벌 로깅 기능을 스텁 : 내 테스트에서 그러나가 어떻게 글로벌 정적 로깅 클래스에 기록 일부 코드, 예를 들어, 함께 일하고
GlobalLog.debug("Some message")
, 나는를 포함하지 않을 실제 로그는 많은 원치 않는 종속성을 초래하기 때문입니다. 그래서 나는 그것을 조롱하려는 : 복식은 각각의 예 후에 지워집니다 때문에
describe "some function" do
before(:all) do
log = double('log')
GlobalLog = log
log.stub(:debug)
end
...
end
불행하게도,이 허용되지 않습니다
https://www.relishapp.com/rspec/rspec-mocks/docs/scope
나는 before(:all)
before(:each)
의로 변경하는 경우 코드가 작동하지만 경고 메시지가 나타납니다.
warning: already initialized constant GlobalLog
이렇게하면 테스트 결과가 막히고 있습니다. 경고. 깨끗한 솔루션이 있습니까?
나는'define_method (method) {| * args |}'와 같이 인자를 취해야한다. – Stefan
감사합니다. 수정 사항을 추가했습니다. – davogones