Ruby Debug нет такого файла для загрузки --spec_helper

Нуб, который может упустить что-то очевидное ... Я пытаюсь отладить файл Rspec. На этом этапе файл Rspec урезан:

  require 'spec_helper'

  describe PagesController do

    render_views

    describe "GET 'home'" do
        describe "when not signed in" do

        before(:each) do
          get :home
        end

        it "should be successful" do
          response.should be_success
        end

        it "should have a vendor section" do
          response.should have_selector("h1", :content => "Vendor")
        end

        it "should have a hospital section" do
          response.should have_selector("h1", :content => "Hospital")
        end
    end
  end

Я делаю следующий вызов из командной строки:

rdebug spec/controllers/pages_controller_spec.rb

Отладчик запускается, но выдает следующую ошибку:

> require 'spec_helper'

    <internal:lib/rubygems/custom_require>:29:in `require'
    <internal:lib/rubygems/custom_require>:29:in `require'
    /home/kevin/.rvm/bin/rails_projects/evaluationrx/spec/controllers/pages_controller_spec.rb:1:in `<top (required)>'
    /home/kevin/.rvm/gems/ruby-1.9.2-p136@rails3tutorial/gems/ruby-debug19-0.11.6/bin/rdebug:125:in `debug_load'
    /home/kevin/.rvm/gems/ruby-1.9.2-p136@rails3tutorial/gems/ruby-debug19-0.11.6/bin/rdebug:125:in `debug_program'
    /home/kevin/.rvm/gems/ruby-1.9.2-p136@rails3tutorial/gems/ruby-debug19-0.11.6/bin/rdebug:412:in `<top (required)>'
    /home/kevin/.rvm/gems/ruby-1.9.2-p136@rails3tutorial/bin/rdebug:19:in `load'
    /home/kevin/.rvm/gems/ruby-1.9.2-p136@rails3tutorial/bin/rdebug:19:in `<main>'
Uncaught exception: no such file to load -- spec_helper

Rspec без отладчика без проблем. Я использую Rspec 2.3.0, ruby-debug19 (0.11.6), Rails 3.0.3 и ruby ​​1.9.2. Почему отладчик не видит файл spec_helper?


person Kevin    schedule 18.02.2011    source источник


Ответы (2)


Я предполагаю, что ваш spec_helper.rb находится в каталоге спецификаций? Пытаться:

require_relative '../spec_helper'
person rausch    schedule 18.02.2011
comment
Ты восхитителен. Да, это работает. Зачем в этой ситуации требуется require_relative? - person Kevin; 18.02.2011
comment
require ищет среди других путей в вашем текущем каталоге, require_relative ищет относительно файла, в который вы его поместили. Старым способом было бы что-то вроде require File.expand_path("#{File.dirname(__FILE__)}/../spec_helper"). Итак, кто-то придумал более удобный require_relative. - person rausch; 19.02.2011

Убедитесь, что вы запустили

rails generate rspec:install

для создания файла spec_helper.rb.

person Jason Galvin    schedule 21.02.2012
comment
Мне пришлось поместить это в мой файл драгоценных камней, чтобы эта команда работала group :development, :test do gem 'rspec-rails', ">= 2.0.0.beta" end - person Leo; 26.04.2012