简体   繁体   English

在rails上的ruby中进行Rspec测试,无法加载这样的文件webmock / rspec

[英]Rspec test in ruby on rails, cannot load such file webmock/rspec

when I run rspec test in my ruby on rails application.. 当我在我的ruby轨道应用程序上运行rspec测试时..

git@ruby-rails:~/gitlab$ sudo bundle exec rspec spec/controllers/public_spec.rb 
No DRb server is running. Running in local process instead ...
/usr/local/lib/ruby/gems/1.9.1/bundler/gems/gollum-5dcd3c8c8f68/lib/gollum/markup.rb:222: warning: already initialized constant PREFORMATTED_TAGS
/usr/local/lib/ruby/gems/1.9.1/bundler/gems/gollum-5dcd3c8c8f68/lib/gollum/markup.rb:685: warning: already initialized constant MarkupGFM
/usr/local/lib/ruby/gems/1.9.1/bundler/gems/gollum-5dcd3c8c8f68/lib/gollum/sanitization.rb:9: warning: already initialized constant ELEMENTS
/usr/local/lib/ruby/gems/1.9.1/bundler/gems/gollum-5dcd3c8c8f68/lib/gollum/sanitization.rb:23: warning: already initialized constant ATTRIBUTES
/usr/local/lib/ruby/gems/1.9.1/bundler/gems/gollum-5dcd3c8c8f68/lib/gollum/sanitization.rb:46: warning: already initialized constant PROTOCOLS
/usr/local/lib/ruby/gems/1.9.1/bundler/gems/gollum-5dcd3c8c8f68/lib/gollum/sanitization.rb:52: warning: already initialized constant ADD_ATTRIBUTES
/usr/local/lib/ruby/gems/1.9.1/bundler/gems/gollum-5dcd3c8c8f68/lib/gollum/sanitization.rb:62: warning: already initialized constant REMOVE_CONTENTS
/usr/local/lib/ruby/gems/1.9.1/bundler/gems/gollum-5dcd3c8c8f68/lib/gollum/sanitization.rb:68: warning: already initialized constant TRANSFORMERS
/usr/local/lib/ruby/gems/1.9.1/bundler/gems/gollum-5dcd3c8c8f68/lib/gollum/web_sequence_diagram.rb:7: warning: already initialized constant WSD_URL
/usr/local/lib/ruby/gems/1.9.1/bundler/gems/gollum-5dcd3c8c8f68/lib/gollum.rb:32: warning: already initialized constant VERSION
MiniTest::Unit::TestCase is now Minitest::Test. From /usr/local/lib/ruby/1.9.1/test/unit/testcase.rb:8:in `<module:Unit>'
MiniTest::Unit::TestCase is now Minitest::Test. From /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/test_case.rb:12:in `<module:ActiveSupport>'
MiniTest::Unit::TestCase is now Minitest::Test. From /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/descendants_tracker.rb:34:in `inherited'
MiniTest::Unit::TestCase is now Minitest::Test. From /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/descendants_tracker.rb:34:in `inherited'
MiniTest::Unit::TestCase is now Minitest::Test. From /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/descendants_tracker.rb:34:in `inherited'
MiniTest::Unit::TestCase is now Minitest::Test. From /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/descendants_tracker.rb:34:in `inherited'
MiniTest::Unit::TestCase is now Minitest::Test. From /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/descendants_tracker.rb:34:in `inherited'
/usr/local/lib/ruby/gems/1.9.1/gems/backports-3.3.3/lib/backports/tools.rb:328:in `require': cannot load such file -- webmock/rspec (LoadError)
    from /usr/local/lib/ruby/gems/1.9.1/gems/backports-3.3.3/lib/backports/tools.rb:328:in `require_with_backports'
    from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `block in require'
    from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
    from /home/git/gitlab/spec/spec_helper.rb:18:in `block in <top (required)>'
    from /usr/local/lib/ruby/gems/1.9.1/gems/spork-1.0.0rc2/lib/spork.rb:24:in `prefork'
    from /home/git/gitlab/spec/spec_helper.rb:4:in `<top (required)>'
    from /home/git/gitlab/spec/controllers/public_spec.rb:2:in `require'
    from /home/git/gitlab/spec/controllers/public_spec.rb:2:in `<top (required)>'
    from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/configuration.rb:789:in `load'
    from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/configuration.rb:789:in `block in load_spec_files'
    from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/configuration.rb:789:in `each'
    from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/configuration.rb:789:in `load_spec_files'
    from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/command_line.rb:22:in `run'
    from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/runner.rb:77:in `rescue in run'
    from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/runner.rb:73:in `run'
    from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/runner.rb:17:in `block in autorun'
Coverage report generated for RSpec to /home/git/gitlab/coverage. 2055 / 5187 LOC (39.62%) covered.

Here is my Gemfile: 这是我的Gemfile:

  gem 'coveralls', require: false
  gem 'rails-dev-tweaks'
  gem 'spinach-rails', '0.2.0'
  gem "rspec-rails", '2.12.2'
  gem "capybara", '2.0.2'
  gem "pry"
  gem "awesome_print"
  gem "database_cleaner"
--
  # Generate Fake data
  gem "ffaker"

  # Guard
  gem 'guard-rspec'
  gem 'guard-spinach'

  # Notification
  gem 'rb-fsevent', require: darwin_only('rb-fsevent')

I am sure that my Gemfile do contains rspec-rails. 我确信我的Gemfile包含rspec-rails。 And this command also works fine: 这个命令也可以正常工作:

ruby -e 'require "webmock/rspec"'

I doubt that there is something wrong with my bundler. 我怀疑我的捆绑包有问题。

But when I check my bundle. 但当我检查我的捆绑。

more /usr/local/bin/bundle

I saw: 我看见:

#!/usr/local/bin/ruby

This means bundle is using the same ruby as I test. 这意味着bundle使用与我测试相同的ruby。

Here is the ruby version I am using: 这是我使用的ruby版本:

ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]

put this line in your GemFile 把这一行放在你的GemFile中

gem 'webmock'

and then do bundle install. 然后进行捆绑安装。

you can use gem 'webmock' . 你可以使用gem 'webmock' See its wiki. 查看其维基。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM