2

我是 Rails 新手,这阻止了我。我正在尝试运行 rspec spec/,但出现错误。谁能帮我?

这是我得到的代码:


/Library/Ruby/Gems/1.8/gems/rspec-rails-2.0.0.a6/lib/rspec/rails/transactional_database_support.rb:33:来自/Library/Ruby/Gems/的未初始化常量Rspec::Core (NameError) 1.8/gems/rspec-rails-2.0.0.a6/lib/rspec/rails.rb:1
来自 /Users/Kendall/Sites/sample_app/spec/spec_helper.rb:4
来自 /Library/Ruby/Site/1.8/ rubygems/custom_require.rb:31:在
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:31中的“gem_original_require”中:在
/Users/Kendall/Sites/sample_app/spec/controllers/pages_controller_spec 中的“require”中。 rb:1
来自 /Library/Ruby/Gems/1.8/gems/rspec-core-2.1.0/lib/rspec/core/configuration.rb:334:in `load'
来自 /Library/Ruby/Gems/1.8/gems/rspec-core-2.1.0/lib/rspec/core/configuration.rb:334:in `load_spec_files'
来自 /Library/Ruby/Gems/1.8/gems/rspec- core-2.1.0/lib/rspec/core/configuration.rb:334:在
/Library/Ruby/Gems/1.8/gems/rspec-core-2.1.0/lib/rspec/core/configuration 的“地图”中。 rb:334:in `load_spec_files'
from /Library/Ruby/Gems/1.8/gems/rspec-core-2.1.0/lib/rspec/core/command_line.rb:18:in `run'
from /Library/Ruby/ Gems/1.8/gems/rspec-core-2.1.0/lib/rspec/core/runner.rb:55:in `run_in_process'
来自 /Library/Ruby/Gems/1.8/gems/rspec-core-2.1.0/ lib/rspec/core/runner.rb:46:in `run'
from /Library/Ruby/Gems/1.8/gems/rspec-core-2.1.0/lib/rspec/core/runner.rb:10:in `
来自 /usr/bin/rspec的自动运行:19

4

3 回答 3

2

看起来您安装了旧版本的 rspec-rails gem。尝试更新它(2.1.0 是撰写本文时的当前版本):

gem update rspec-rails

更新了以下评论

您需要指定一个或多个规范文件的名称或包含规范文件的目录。例如,如果您的规范文件位于名为 spec 的文件夹中,那么这将运行它们:

rspec spec

在使用 Bundler 的 Rails 项目中:

bundle exec rspec spec

有关 rspec 命令的更多信息:

rspec -h
于 2010-11-11T19:58:27.937 回答
2

采用

sudo gem 更新 rspec-rails

于 2010-12-10T06:37:12.320 回答
0

也许已经晚了,但是对于错误:

No examples were matched. Perhaps {:unless=>#<Proc:0x00000001005b7790@/Library/Ruby/Gems/1.8/gems/rspec-core-2.1.0/lib/rspec/core/configuration.rb:53>, :if=>#<Proc:0x00000001005b7970@/Library/Ruby/Gems/1.8/gems/rspec-core-2.1.0/lib/rspec/core/configuration.rb:52>} is excluding everything? Finished in 0.00003 seconds 0 examples, 0 failures

就像它说的那样,在您的 test_spec 文件中找不到测试。您应该在测试用例中添加一个“it”表达式。

于 2011-10-25T03:50:42.173 回答