【问题标题】:Want to add rspec to my rails 3 app, what do I need to do?想将 rspec 添加到我的 rails 3 应用程序中,我需要做什么?
【发布时间】:2010-12-02 02:05:05
【问题描述】:

我更新了我的 GEMFile:

 group :development, :test do

    gem 'rspec'
    gem 'webrat'
    gem 'rspec-rails'
 end

然后运行捆绑安装。

现在我已经有了一个 HomeController,所以我手动创建了这个:

/spec/controllers/home_controller_spec.rb

我没有关于页面,所以我开始测试:

require 'spec_helper'

describe HomeController do

  describe "Get 'about'" do
    it "should be successful" do
      get 'about'
      response.should be_success
    end
  end


end

现在我做到了:

rspec spec/

我是否需要更新一些其他文件才能使 rspec 工作,不明白此错误消息。

更新

我把 if 改成了它,现在我得到了:

file to load -- spec_helper (LoadError)
    from /Users/someuser/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /Users/someuser/dev/rscs/example.com/spec/controllers/home_controller_spec.rb:1
    from /Users/someuser/.rvm/gems/ruby-1.8.7-p302@rails3/gems/rspec-core-2.2.1/lib/rspec/core/configuration.rb:327:in `load'
    from /Users/someuser/.rvm/gems/ruby-1.8.7-p302@rails3/gems/rspec-core-2.2.1/lib/rspec/core/configuration.rb:327:in `load_spec_files'
    from /Users/someuser/.rvm/gems/ruby-1.8.7-p302@rails3/gems/rspec-core-2.2.1/lib/rspec/core/configuration.rb:327:in `map'
    from /Users/someuser/.rvm/gems/ruby-1.8.7-p302@rails3/gems/rspec-core-2.2.1/lib/rspec/core/configuration.rb:327:in `load_spec_files'
    from /Users/someuser/.rvm/gems/ruby-1.8.7-p302@rails3/gems/rspec-core-2.2.1/lib/rspec/core/command_line.rb:18:in `run'
    from /Users/someuser/.rvm/gems/ruby-1.8.7-p302@rails3/gems/rspec-core-2.2.1/lib/rspec/core/runner.rb:55:in `run_in_process'
    from /Users/someuser/.rvm/gems/ruby-1.8.7-p302@rails3/gems/rspec-core-2.2.1/lib/rspec/core/runner.rb:46:in `run'
    from /Users/someuser/.rvm/gems/ruby-1.8.7-p302@rails3/gems/rspec-core-2.2.1/lib/rspec/core/runner.rb:10:in `autorun'
    from /Users/someuser/.rvm/gems/ruby-1.8.7-p302@rails3/bin/rspec:19

【问题讨论】:

    标签: ruby-on-rails tdd rspec


    【解决方案1】:

    查看回溯的第一行。

    /Users/someuser/dev/rscs/example.com/spec/controllers/home_controller_spec.rb:6: syntax error, unexpected kDO, expecting kTHEN or ':' or '\n' or ';' (SyntaxError)
    

    该错误消息指向您的规范文件中的语法错误 - 即,在第 6 行,有一个 do 不是预期的。那是你应该首先检查的地方。

    if "should be successful" do
    

    我打赌你的意思是 ifit ;) it 是用于定义要测试的类的特定方面的 RSpec 方法,它与 if 运算符不同,可以挡住。

    【讨论】:

    • 真丢脸,我确定这是配置问题,而不是我编写的实际 rspec 代码,太糟糕了,您无法对此进行测试!
    • 很高兴一切顺利 :) 这是您的友好提醒,一旦 StackOverflow 允许您接受答案:D
    • 查看我的更新,它还没有工作(我会接受的,不用担心!)
    • hmm..spec_helper 应该是什么样子?它是自动生成的还是?
    • @Blankman:听起来好像找不到spec_helper 文件。你跑rails generate rspec了吗?它应该位于spec/spec_helper.rb
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-16
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 2015-07-13
    • 1970-01-01
    相关资源
    最近更新 更多