Я запускаю тесты в приложении rails и emberjs, и в моих тестах установлено :js => true. Я могу добавить binding.pry в спецификацию, и он отлично откроет REPL, но если я добавлю binding.pry в приложение, REPL появится в консоли, но спецификация продолжится. Я считаю, что это происходит потому, что с полтергейстом в качестве драйвера капибара запускает спецификацию в одном потоке, а приложение — в другом. Есть ли способ настроить все так, чтобы я мог использовать binding.pry в коде приложения, чтобы открыть REPL и приостановить как приложение, так и спецификацию?
Вот пример оператора binding.pry, который отлично работает, и тот, который остался позади:
Работает:
employee_signs_in_spec.rb
require 'spec_helper'
feature 'Visitor signs in', :js => true do
scenario 'Success' do
visit '/sign_in'
sign_in_as(FactoryGirl.create(:employee, confirmed_at: Time.now))
binding.pry
page.should have_content('Example Content')
end
end
Остается позади:
session_controller.rb
class SessionsController < Devise::SessionsController
include Devise::Controllers::Helpers
respond_to :json
def create
binding.pry
# code for create action
end
end
binding.pry
в спецификациях, управляемых селеном и полтергейстом, без проблем. Можете ли вы предоставить минимальный образец кода, который может воспроизвести проблему? - person Chris Cashwell   schedule 08.11.2013