当我这样做时
rspec spec
在我的rails项目中,我得到了
No examples were matched. Perhaps {:if=>#<Proc:0x0000010126e998@/Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/rspec-core-2.3.1/lib/rspec/core/configuration.rb:50 (lambda)>, :unless=>#<Proc:0x0000010126e970@/Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/rspec-core-2.3.1/lib/rspec/core/configuration.rb:51 (lambda)>} is excluding everything?
Finished in 0.00004 seconds
0 examples, 0 failures
现在,这似乎可能是因为我写了一个规范它会起作用,但是一旦我写了一个规范(我确实包括spec_helper)
/Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/rspec-core-2.3.1/lib/rspec/core/backward_compatibility.rb:20:in `const_missing': uninitialized constant Authlogic (NameError)
from /{myapp}/app/models/user_session.rb:1:in `<top (required)>'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.3/lib/rails/engine.rb:138:in `block (2 levels) in eager_load!'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.3/lib/rails/engine.rb:137:in `each'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.3/lib/rails/engine.rb:137:in `block in eager_load!'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.3/lib/rails/engine.rb:135:in `each'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.3/lib/rails/engine.rb:135:in `eager_load!'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.3/lib/rails/application.rb:108:in `eager_load!'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.3/lib/rails/application/finisher.rb:41:in `block in <module:Finisher>'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.3/lib/rails/initializable.rb:25:in `instance_exec'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.3/lib/rails/initializable.rb:25:in `run'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.3/lib/rails/initializable.rb:50:in `block in run_initializers'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.3/lib/rails/initializable.rb:49:in `each'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.3/lib/rails/initializable.rb:49:in `run_initializers'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.3/lib/rails/application.rb:134:in `initialize!'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.3/lib/rails/application.rb:77:in `method_missing'
from /{myapp}/config/environment.rb:5:in `<top (required)>'
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from /{myapp}/spec/spec_helper.rb:3:in `<top (required)>'
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from /{myapp}/spec/controllers/pages_controller_spec.rb:1:in `<top (required)>'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/rspec-core-2.3.1/lib/rspec/core/configuration.rb:388:in `load'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/rspec-core-2.3.1/lib/rspec/core/configuration.rb:388:in `block in load_spec_files'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/rspec-core-2.3.1/lib/rspec/core/configuration.rb:388:in `map'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/rspec-core-2.3.1/lib/rspec/core/configuration.rb:388:in `load_spec_files'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/rspec-core-2.3.1/lib/rspec/core/command_line.rb:18:in `run'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/rspec-core-2.3.1/lib/rspec/core/runner.rb:55:in `run_in_process'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/rspec-core-2.3.1/lib/rspec/core/runner.rb:46:in `run'
from /Users/samliu/.rvm/gems/ruby-1.9.2-p0@rails3/gems/rspec-core-2.3.1/lib/rspec/core/runner.rb:10:in `block in autorun'
这里的重要一行似乎是
/core/backward_compatibility.rb:20:in `const_missing': uninitialized constant Authlogic (NameError)
现在如果这是rails 2.3.8,我只是简单地说 config.gem“authlogic”
进入environment.rb,在初始化代码块中。但是,rails 3 environment.rb看起来有所不同(没有配置代码块,因此将其置于任意位置会导致未定义config的错误)。所以我的问题是
1)我真的必须将gem配置放在任何地方吗?我看了https://github.com/trevmex/authlogic_rails3_example/,似乎他没有把它放在任何地方。
2)有没有人知道我在rspec方面做错了什么?我的宝石列表是
*** LOCAL GEMS ***
abstract (1.0.0)
actionmailer (3.0.3, 3.0.1, 3.0.0, 3.0.0.rc2, 2.3.4)
actionpack (3.0.3, 3.0.1, 3.0.0, 3.0.0.rc2, 2.3.4)
activemodel (3.0.3, 3.0.1, 3.0.0, 3.0.0.rc2)
activerecord (3.0.3, 3.0.1, 3.0.0, 3.0.0.rc2, 2.3.4)
activeresource (3.0.3, 3.0.1, 3.0.0, 3.0.0.rc2, 2.3.4)
activesupport (3.0.3, 3.0.1, 3.0.0, 3.0.0.rc2, 2.3.4)
arel (2.0.6, 1.0.1)
asdf (0.5.0)
authlogic (2.1.6, 2.1.3)
autotest (4.4.6, 4.4.1)
autotest-fsevent (0.2.4)
autotest-growl (0.2.9)
autotest-rails (4.1.0)
autotest-rails-pure (4.1.2)
bluecloth (2.0.9)
builder (2.1.2)
bundler (1.0.7, 1.0.2)
cgi_multipart_eof_fix (2.5.0)
commonwatir (1.6.2)
couchrest (0.33)
cri (1.0.1)
cucumber (0.4.4, 0.4.3, 0.3.11)
daemons (1.1.0, 1.0.10)
dependencies (0.0.7)
diff-lcs (1.1.2)
erubis (2.6.6)
fastercsv (1.5.0)
fastthread (1.0.7)
firewatir (1.6.2)
flay (1.4.0)
flog (2.2.0)
funfx (0.2.2)
gem_plugin (0.2.3)
gemsonrails (0.7.2)
giraffesoft-resource_controller (0.6.5)
haml (2.2.14)
hoe (2.3.3)
i18n (0.4.1)
jscruggs-metric_fu (1.1.5)
json_pure (1.1.9)
kramdown (0.12.0)
mail (2.2.13, 2.2.6.1)
memcache-client (1.8.5)
mime-types (1.16)
mojombo-chronic (0.3.0)
mongrel (1.1.5)
monk (0.0.7)
nanoc (3.1.5)
nanoc3 (3.1.5)
nokogiri (1.4.3.1, 1.4.0)
open4 (0.9.6)
polyglot (0.3.1, 0.2.9)
rack (1.2.1, 1.0.1)
rack-mount (0.6.13)
rack-test (0.5.6)
rails (3.0.0, 2.3.4)
rails3-generators (0.17.0, 0.14.0)
railties (3.0.3, 3.0.1, 3.0.0, 3.0.0.rc2)
rake (0.8.7)
relevance-rcov (0.9.2.1)
rest-client (1.0.3)
rspec (2.3.0, 2.0.0.rc, 1.2.9)
rspec-core (2.3.1, 2.0.0.rc)
rspec-expectations (2.3.0, 2.0.0.rc)
rspec-mocks (2.3.0, 2.0.0.rc)
rspec-rails (2.3.1, 2.0.0.rc, 1.2.9)
ruby_parser (2.0.4)
rubyforge (2.0.3)
rubygems-update (1.3.6, 1.3.5)
rvm (1.0.13)
s4t-utils (1.0.4)
safariwatir (0.3.7)
sexp_processor (3.0.3)
spork (0.7.3)
sqlite3-ruby (1.3.1, 1.2.5)
sys-uname (0.8.5)
term-ansicolor (1.0.4)
text-format (1.0.0)
text-hyphen (1.0.0)
thor (0.14.6, 0.14.3, 0.12.0)
treetop (1.4.8, 1.4.2)
tzinfo (0.3.23)
user-choices (1.1.6)
vlad (2.0.0)
vlad-git (2.1.0)
webrat (0.7.1, 0.6.0, 0.5.3)
xml-simple (1.0.12)
ZenTest (4.4.2)
我在OSX 10.6 Snow Leopard上使用ruby 1.9.2和rails 3.0.3安装。
我只想像以前一样运行我的规格。作为一个单独的问题,autotest会产生关于autotest / growl的include的错误,但我安装了autotest-growl。也许这是一个宝石问题?我尝试做同样的事情,并在使用我的ubuntu 10.04服务器机器时得到相同的错误。
的Gemfile
source 'http://rubygems.org'
gem 'rails', '3.0.3'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3-ruby', :require => 'sqlite3'
group :couch do
gem 'couchrest'
end
group :user_auth do
gem 'authlogic'
gem "rails3-generators"
gem 'facebooker'
end
group :markup do
gem 'haml'
gem 'sass'
end
group :testing do
gem 'rspec-rails'
gem 'rspec'
gem 'webrat'
gem 'cucumber'
gem 'capybara'
gem 'factory_girl'
gem 'shoulda'
gem 'autotest'
end
group :server do
gem 'unicorn'
end
# Use unicorn as the web server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'ruby-debug'
# Bundle the extra gems:
# gem 'bj'
# gem 'nokogiri'
# gem 'sqlite3-ruby', :require => 'sqlite3'
# gem 'aws-s3', :require => 'aws/s3'
# Bundle gems for the local environment. Make sure to
# put test-only gems in this group so their generators
# and rake tasks are available in development mode:
# group :development, :test do
# gem 'webrat'
# end
Gemfile.lock的
GEM
remote: http://rubygems.org/
specs:
ZenTest (4.4.2)
abstract (1.0.0)
actionmailer (3.0.3)
actionpack (= 3.0.3)
mail (~> 2.2.9)
actionpack (3.0.3)
activemodel (= 3.0.3)
activesupport (= 3.0.3)
builder (~> 2.1.2)
erubis (~> 2.6.6)
i18n (~> 0.4)
rack (~> 1.2.1)
rack-mount (~> 0.6.13)
rack-test (~> 0.5.6)
tzinfo (~> 0.3.23)
activemodel (3.0.3)
activesupport (= 3.0.3)
builder (~> 2.1.2)
i18n (~> 0.4)
activerecord (3.0.3)
activemodel (= 3.0.3)
activesupport (= 3.0.3)
arel (~> 2.0.2)
tzinfo (~> 0.3.23)
activeresource (3.0.3)
activemodel (= 3.0.3)
activesupport (= 3.0.3)
activesupport (3.0.3)
arel (2.0.6)
authlogic (2.1.6)
activesupport
autotest (4.4.6)
ZenTest (>= 4.4.1)
builder (2.1.2)
capybara (0.4.0)
celerity (>= 0.7.9)
culerity (>= 0.2.4)
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
rack (>= 1.0.0)
rack-test (>= 0.5.4)
selenium-webdriver (>= 0.0.27)
xpath (~> 0.1.2)
celerity (0.8.6)
childprocess (0.1.6)
ffi (~> 0.6.3)
couchrest (1.0.1)
json (>= 1.4.6)
mime-types (>= 1.15)
rest-client (>= 1.5.1)
cucumber (0.10.0)
builder (>= 2.1.2)
diff-lcs (~> 1.1.2)
gherkin (~> 2.3.2)
json (~> 1.4.6)
term-ansicolor (~> 1.0.5)
culerity (0.2.13)
diff-lcs (1.1.2)
erubis (2.6.6)
abstract (>= 1.0.0)
facebooker (1.0.75)
json_pure (>= 1.0.0)
factory_girl (1.3.2)
ffi (0.6.3)
rake (>= 0.8.7)
gherkin (2.3.2)
json (~> 1.4.6)
term-ansicolor (~> 1.0.5)
haml (3.0.25)
i18n (0.5.0)
json (1.4.6)
json_pure (1.4.6)
kgio (2.0.0)
mail (2.2.13)
activesupport (>= 2.3.6)
i18n (>= 0.4.0)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mime-types (1.16)
nokogiri (1.4.4)
polyglot (0.3.1)
rack (1.2.1)
rack-mount (0.6.13)
rack (>= 1.0.0)
rack-test (0.5.6)
rack (>= 1.0)
rails (3.0.3)
actionmailer (= 3.0.3)
actionpack (= 3.0.3)
activerecord (= 3.0.3)
activeresource (= 3.0.3)
activesupport (= 3.0.3)
bundler (~> 1.0)
railties (= 3.0.3)
rails3-generators (0.17.0)
railties (>= 3.0.0)
railties (3.0.3)
actionpack (= 3.0.3)
activesupport (= 3.0.3)
rake (>= 0.8.7)
thor (~> 0.14.4)
rake (0.8.7)
rest-client (1.6.1)
mime-types (>= 1.16)
rspec (2.3.0)
rspec-core (~> 2.3.0)
rspec-expectations (~> 2.3.0)
rspec-mocks (~> 2.3.0)
rspec-core (2.3.1)
rspec-expectations (2.3.0)
diff-lcs (~> 1.1.2)
rspec-mocks (2.3.0)
rspec-rails (2.3.1)
actionpack (~> 3.0)
activesupport (~> 3.0)
railties (~> 3.0)
rspec (~> 2.3.0)
rubyzip (0.9.4)
sass (3.1.0.alpha.206)
selenium-webdriver (0.1.2)
childprocess (~> 0.1.5)
ffi (~> 0.6.3)
json_pure
rubyzip
shoulda (2.11.3)
sqlite3-ruby (1.3.2)
term-ansicolor (1.0.5)
thor (0.14.6)
treetop (1.4.9)
polyglot (>= 0.3.1)
tzinfo (0.3.23)
unicorn (3.1.0)
kgio (~> 2.0.0)
rack
webrat (0.7.2)
nokogiri (>= 1.2.0)
rack (>= 1.0)
rack-test (>= 0.5.3)
xpath (0.1.2)
nokogiri (~> 1.3)
PLATFORMS
ruby
DEPENDENCIES
authlogic
autotest
capybara
couchrest
cucumber
facebooker
factory_girl
haml
rails (= 3.0.3)
rails3-generators
rspec
rspec-rails
sass
shoulda
sqlite3-ruby
unicorn
webrat
答案 0 :(得分:0)
你所有的config.gem现在都在你的Gemfile中。所以把它放在:
gem 'authologic'
答案 1 :(得分:0)
解决。不完全确定问题是什么,但我从系统中卸载了rubygems和ruby并仅使用rvm重新安装 - 然后我开始设计authlogic。似乎由于某些原因,authlogic对我不好看。哦,好吧。