Как вызвать отладчик в функциональном тесте Rails? - PullRequest
9 голосов
/ 12 апреля 2011

С Rails 3, Ruby 1.9 и Test :: Unit, как правильно вызывать отладчик в функциональном тесте? Я попытался добавить «отладчик», а затем запустить грабли: test: functionals:

class AdminControllerTest < ActionController::TestCase
    test "should get index" do
        debugger
        get :index
        assert_redirected_to welcome_url
    end
end

но Ruby, похоже, игнорирует вызов отладчика (тест продолжается и работает нормально). Если я попытаюсь запустить тест напрямую:

ruby -r debug test/functional/admin_controller_test.rb

тогда Руби не может найти test_helper.rb. Если, следуя ответу ниже, я запускаю:

ruby -I "lib:test" test/functional/admin_controller_test.rb

затем он находит test_helper, но снова запускает тест до завершения, не вызывая отладчик. Мой Gemfile имеет:

gem 'ruby-debug19', :require => 'ruby-debug', :group => :development

Ответы [ 3 ]

9 голосов
/ 12 апреля 2011

Мне всегда удавалось отлаживать тесты, используя только:

ruby -I"lib:test" test/functional/admin_controller_test.rb

В моем файле .rdebugrc есть следующее, если это поможет:

set autolist
set autoeval
set autoreload
set forcestep
3 голосов
/ 12 апреля 2011

Вам понадобится камень ruby-debug19.

1 голос
/ 20 ноября 2013

У меня была такая же проблема, и я исправил ее, добавив отладчик в группу тестирования в моем Gemfile.

Gemfile:

group :test do
  gem "debugger"
end

Команда:

bundle exec ruby -Itest test/unit/user_test.rb -n test_the_truth
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...