Решение Дэвида не сработало для нас. Может быть, это потому, что мы не используем RSpec 2?
Вот что сработало.
def run
fork do
blah
end
end
describe '#run' do
it 'should create a fork which calls #blah' do
subject.should_receive(:fork).and_yield do |block_context|
block_context.should_receive(:blah)
end
subject.run_job
end
end
Я не уверен, как это будет применяться при вызове константы, такой как STDERR, но это был единственный способ, которым мы смогли выполнить форк-тестирование.