Действительно ли возможно отладить модульные тесты в Ruby on Rails?

Так, я просто переместился в новый проект, который основан на Ruby on Rails. Я плохо знаком с ним, и я все еще изучаю это. Я могу отладить большую часть кода приложения, но кажется, что я не могу отладить код модульного теста и код, который тестируется.

Когда я выполняю поблочное тестирование в режиме отладки, я могу установить точку останова в коде класса модульного теста, например, где приспособления добавляются, но точки останова не работают в методе тестирования, кодируют и не работают в протестированном коде, где они действительно работают во время нормального рабочего процесса. Все остальные в команде используют оператор печати для отладки модульного теста.

Так, это даже возможно отладить код модульного теста в направляющих?

Мы используем jruby 1.3.1, направляющие 2.3.1, и я использую ИДЕЮ IntelliJ отладить, также я в порядке, если я должен переключиться на затмение или netbeans.

Править: на самом деле, "не, это не возможно", был бы полезный ответ также, если Вы знаете, что это так. По крайней мере, я прекратил бы напрасно тратить время на нем

15
задан Pavel Feldman 26 February 2010 в 19:08
поделиться

1 ответ

Да, это возможно.

Прежде всего, вы должны установить ruby-debug.

sudo gem install ruby-debug

затем вы пишете

debugger

непосредственно перед строкой, которую вы хотите начать отлаживать.

Следующий шаг: запустите свои модульные тесты, как вы это делаете обычно.

В тот момент, когда ruby дойдет до строки, содержащей директиву debugger он остановится и покажет вам консольную подсказку.

Теперь вы можете отлаживать так же, как и с помощью gdb.

Эта ссылка объясняет это очень хорошо: http://blog.nanorails.com/articles/2006/07/14/a-better-rails-debugger-ruby-debug

Надеюсь, эта информация будет вам полезна.

28
ответ дан 1 December 2019 в 01:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: