2

嘿伙计们,我正在关注这里的 Rails 教程http://net.tutsplus.com/tutorials/ruby/the-intro-to-rails-screencast-i-wish-i-had/我已经到了使用 guard 执行单元测试的地方。使用保护时,我不断收到下面的错误,我尝试安装 activesupport gem,但似乎仍然失败。如果有人对如何解决此问题有任何提示,我将不胜感激:)

我也在运行 64 位 Ubuntu

chuck@chuck-laptop:~/rails/tasks$ bundle exec guard
Guard could not detect any of the supported notification libraries.
Guard is now watching at '/home/chuck/rails/tasks'
Guard::RSpec is running, with RSpec 2!
Running all specs
/home/chuck/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/test/unit/assertions.rb:5:in `<module:Test>': Unit is not a module (TypeError)
    from /home/chuck/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/test/unit/assertions.rb:4:in `<top (required)>'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-rails-2.8.1/lib/rspec/rails/adapters.rb:2:in `<top (required)>'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-rails-2.8.1/lib/rspec/rails.rb:10:in `<top (required)>'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/rails/tasks/spec/spec_helper.rb:4:in `<top (required)>'
    from /home/chuck/rails/tasks/spec/requests/tasks_spec.rb:1:in `require'
    from /home/chuck/rails/tasks/spec/requests/tasks_spec.rb:1:in `<top (required)>'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `block in load_spec_files'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `map'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load_spec_files'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/command_line.rb:22:in `run'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:80:in `run_in_process'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69:in `run'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10:in `block in autorun'
Guard::RSpec is running, with RSpec 2!
Running all specs
/home/chuck/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/test/unit/assertions.rb:5:in `<module:Test>': Unit is not a module (TypeError)
    from /home/chuck/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/test/unit/assertions.rb:4:in `<top (required)>'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-rails-2.8.1/lib/rspec/rails/adapters.rb:2:in `<top (required)>'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-rails-2.8.1/lib/rspec/rails.rb:10:in `<top (required)>'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/rails/tasks/spec/spec_helper.rb:4:in `<top (required)>'
    from /home/chuck/rails/tasks/spec/requests/tasks_spec.rb:1:in `require'
    from /home/chuck/rails/tasks/spec/requests/tasks_spec.rb:1:in `<top (required)>'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `block in load_spec_files'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `map'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load_spec_files'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/command_line.rb:22:in `run'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:80:in `run_in_process'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69:in `run'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10:in `block in autorun'
Bye bye...
4

2 回答 2

1

解决方法:

  1. 从 Gemfile 中移除转宝石。
  2. gem卸载转

从这里复制粘贴了解决方法

顺便说一句,我不想​​太离题,但如果你解决了这个问题并按照教程,让我给你一个建议:如果你卡在

Failure/Error: @task = Task.create :task => 'go to bed'
     ActiveRecord::StatementInvalid:
       Could not find table 'tasks'

然后运行这个命令:

rake

问题是,他们告诉你运行,而不是那个:

rake db:migrate

这很好,但不会迁移测试数据库。

干杯!

于 2012-02-06T23:36:17.527 回答
1

作为教程的一部分,您将跟随旁白在 gem 文件中使用“gem 'turn'”。在阅读了其他一些博客之后,我删除了一个 gem(它所做的只是导致漂亮的测试输出)并重新捆绑。Guard终于开始发挥作用了。我还有另一个错误,但它会告诉我有多少测试通过和失败,哪些是哪些。希望这可以帮助。

于 2012-04-07T19:14:38.133 回答