无法让rspec,spork和调试器发挥出色

Given I am a dumb programmer and I am using rspec and I am using spork and I want to debug ...mmm...let's saaay, a spec for Phone. 

然后,我应该在哪里放置“require’ruby-debug’”行以停止在phone_spec.rb中的特定点处理? (所有我要求的是一个很大的箭头,即使是受到挑战的程序员也可以看到:-3)

我尝试了很多地方,除非我没有正确测试它们,否则会发生一些奇怪的事情:

在spec_helper.rb中的以下位置:

 require 'rubygems' require 'spork' <= TRIED IT HERE ENV["RAILS_ENV"] ||= 'test' Spork.prefork do require File.dirname(__FILE__) + "/../config/environment" #unless defined?(RAILS_ROOT) require 'spec/autorun' require 'spec/rails' require 'machinist/active_record' require 'faker' require 'sham' <= TRIED IT HERE end Spork.each_run do require File.expand_path(File.dirname(__FILE__) + "/blueprints") <= TRIED IT HERE end Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f} Spec::Runner.configure do |config| config.use_transactional_fixtures = true config.use_instantiated_fixtures = false config.fixture_path = RAILS_ROOT + '/spec/fixtures/' config.before(:all) { Sham.reset(:before_all) } config.before(:each) { Sham.reset(:before_each) } <= TRIED IT HERE end 

我总是将它放在config/environments/test.rb ,并将debugger放在我的应用程序代码中的断点处(而不是规范)。

我用ruby-debug运行Spork和Autospec。 Spork的更高版本有一个您可以要求的外部ruby-debug库,它是实验性的,因此使用风险自负。 在我的prefork块我只有:

需要’spork / ext / ruby​​-debug’

它将突破到Spork运行的终端中的调试会话。 有方法等启动远程连接设置等,最近的提交已经有更新和修复应用于他们的调试function,所以它正在积极开发。 希望它很快就会成为核心并经过测试……