16

可能遗漏了一些明显的东西的菜鸟......我正在尝试调试一个 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 文件?

4

2 回答 2

41

确保你已经运行

rails generate rspec:install

创建 spec_helper.rb 文件。

于 2012-02-21T21:55:42.647 回答
24

我假设您的 spec_helper.rb 位于 spec 目录中?尝试:

require_relative '../spec_helper'
于 2011-02-18T19:53:10.913 回答