тестирование с использованием Resque с примерами Rspec?

Я обрабатываю фоновые задания с помощью Resque. Моя модель выглядит так

class SomeClass
  ...
  repo = Repo.find(params[:repo_id])
  Resque.enqueue(ReopCleaner, repo.id)
  ...
end

class RepoCleaner
  @queue = :repo_cleaner

  def self.perform(repo_id)
    puts "this must get printed in console"
    repo = Repo.find(repo_id)    
    # some more action here
  end
end

Теперь, чтобы протестировать синхронно, я добавил

Resque.inline = Rails.env.test?

в свой файл config / initializers / resque.rb

Это должно было вызвать встроенный метод #perform, не помещая его в очередь в Redis и без каких-либо Resque обратные вызовы как Rails.env.test? возвращает истину в тестовой среде.

Но

"this must get printed in console"

никогда не печатается во время тестирования. и мои тесты тоже не работают.

Есть ли какие-то конфигурации, которые я пропустил. В настоящее время я использую

resque (1.17.1)
resque_spec (0.7.0)
resque_unit (0.4.0)
7
задан Nakilon 3 December 2014 в 11:49
поделиться