가정하자 나는 아주 간단 레이크 작업이 있습니다테스트하는 방법 시스템은 레이크 작업에서 호출
task :test do
system "bundle exec rspec spec"
end
나는 ::Kernel.system
메소드 호출 스텁하여 테스트를 시도 :
describe "test" do
before { allow(::Kernel).to receive(:system) }
it "runs 'bundle exec rspec spec'" do
expect(::Kernel).to receive(:system).with "bundle exec rspec spec"
Rake::Task[:test].invoke
end
end
을하지만 방법은 같다 완전히 스터브되지 않아야한다. 대신, 테스트 스위트를 호출하는 반복의 무한 사이클을 실행합니다.
무엇이 문제이며, howto stub 시스템 호출이 제대로 되었습니까?
감사합니다, Łukasz, 당신은 내 하루를 구했습니다! 새로운 RSpec 구문을 사용하여 'any_instance'의 이전 구문을 완전히 잊어 버렸습니다. 명확성을 위해이 문제를 해결하는 것은'allow_any_instance'라고 말하고 싶습니다. –