سؤال

Found this simple way to run a separate process in Sinatra: Run background process in Sinatra

get '/start_process'
  @@pid = Process.spawn('external_command_to_run')
end

How would you test this in RSpec?

Ruby 1.9.3.

هل كانت مفيدة؟

المحلول

Extract a class which does the background processing and unit-test it. Then test expectation that your action invokes method on this class

Some "pseudocode":

before do
  MyWorker.should_receive(:perform)
end

specify { get :something }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top