2013-02-25 3 views
3

RubyMine - Как отлаживать файлы с огурцами Step? У меня это было немного, и любая информация, которую я нашел, не сработала для меня. Кто-нибудь получил файлы шагов для отладки при использовании RubyMine?RubyMine - Как отлаживать файлы с огурцами Step?

Благодаря

+0

[Работает из коробки] (http://img200.imageshack.us/img200/2456/20130226141046.png). Какие конкретные проблемы у вас есть? Обратите внимание, что вы не можете отлаживать файлы функций. – CrazyCoder

ответ

1

чудовищно общая проблема со многими, много неудачных решений в Интернете. Вам не нужны новые драгоценные камни, не нужно менять настройки.

Скорее всего, у вас есть все ваши файлы функций в корневой папке.

Это звучит смешно, но создайте новую папку, разместите там файлы функций (назовите это что-то общее, например «тесты»).

Установите точку останова и повторите попытку. Это должно исправить это.

1

Добавить «подглядывать» в ваш Gemfile

требует «совать нос» (около вершины, или в загрузочных/крючках)

В шаге вы хотите отлаживать, в проблема, с которой у вас возникли проблемы: binding.pry

Это дает вам ссылку на REPL, где вы можете изучить все локальные переменные и т. д. Если вы взаимодействуете с браузером, использующим селен, вы также можете посмотреть браузер , используйте «контрольный элемент», th ru см., можете ли вы найти элемент с вызовами селена.

Вы также можете сделать шаг (мой называется «И я отлаживаю»), который ничего не делает, кроме вызова binding.pry; это полезно, если вы просто хотите временно остановить автоматизацию селена. Чтобы выйти из REPL, используйте «exit» или^D.

Вам необходимо будет запустить свои cukes из командной строки, чтобы эффективно использовать это; не уверен, какие особенности имеет рубинизм для этого.

-1

Не RubyMine, но если вы знакомы с CLI отладчик камень помогает много

[sudo] gem install debugger

Затем поместите ключевое слово отладчик перед оргкомитетом в вопросе и запустить огурец, как обычно. Отладчик остановится перед LOC, с которым у вас возникла проблема.

Я использую это, чтобы постоянно перебирать проблемы с Cucumber/WATIR.

https://github.com/cldwalker/debugger

+0

Что такое LOC? Я помещаю 'debugger' внутри моего определения шага, но выполнение не останавливается. – Green

1

В моем случае я не имел «отладчик» драгоценный камень в соответствующей группе в Gemfile

Убедитесь, что:

group :development, :test do 
    gem 'debugger' 
end 

Отладчик камень больше не рекомендуется, попробуйте debugger2 вместо этого.

0

Добавление следующего содержания содержимого/поддержки/отладки.гь может быть полезно при отладке провала попытки шагов:

# `LAUNCHY=1 cucumber` to open page on failure 
After do |scenario| 
    save_and_open_page if scenario.failed? && ENV['LAUNCHY'] 
end 

# `FAST=1 cucumber` to stop on first failure 
After do |scenario| 
    Cucumber.wants_to_quit = ENV['FAST'] && scenario.failed? 
end 

# `DEBUG=1 cucumber` to drop into debugger on failure 
After do |scenario| 
    next unless ENV['DEBUG'] && scenario.failed? 
    puts "Debugging scenario: #{scenario.title}" 
    if respond_to? :debugger 
    debugger 
    elsif binding.respond_to? :pry 
    binding.pry 
    else 
    puts "Can't find debugger or pry to debug" 
    end 
end 

# `STEP=1 cucumber` to pause after each step 
AfterStep do |scenario| 
    next unless ENV['STEP'] 
    unless defined?(@counter) 
    puts "Stepping through #{scenario.title}" 
    @counter = 0 
    end 
    @counter += 1 
    print "At step ##{@counter} of #{scenario.steps.count}. Press Return to"\ 
     ' execute...' 
    STDIN.getc 
end 

Установив переменное окружение, вы можете вызвать Огурцы использовать различные инструменты отладки, и вы можете комбинировать их с помощью установки нескольких переменных окружения.