我更新了我的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
答案 0 :(得分:2)
查看回溯的第一行。
/Users/someuser/dev/rscs/example.com/spec/controllers/home_controller_spec.rb:6: syntax error, unexpected kDO, expecting kTHEN or ':' or '\n' or ';' (SyntaxError)
该错误消息指向您的spec文件中的语法错误 - 即,在第6行,有一个do
,它不是预期的。那是你应该先检查的地方。
if "should be successful" do
我认为你的意思是if
是it
;)it
是用于定义要测试的类的特定方面的RSpec方法,它不同于if
运算符,可以阻止。