uninitialized constant运行Rails控制台时的测试

时间:2014-06-03 17:40:04

标签: ruby-on-rails ruby

我在终端中运行uninitialized constant Test时获得rails console。我不确定为什么我只是设置它并使用rails server命令工作。

这是我得到的错误:

/usr/lib/ruby/vendor_ruby/active_support/test_case.rb:12:in `<module:ActiveSupport>': uninitialized constant Test (NameError)

4 个答案:

答案 0 :(得分:3)

我在Ubuntu 14.04桌面上遇到了同样的问题。解决方法如下:

sudo apt-get install ruby-test-unit echo require 'test/unit' >> /usr/lib/ruby/vendor_ruby/active_support/test_case.rb

看到这个链接: https://bugs.launchpad.net/ubuntu/+source/ruby-activesupport-3.2/+bug/1319101

答案 1 :(得分:2)

shoulda-matchers getting started guide复制并粘贴配置时出现此问题。但我没有删除未使用的测试框架。

要与RSpec一起使用,它将如下:

Shoulda::Matchers.configure do |config|
  config.integrate do |with|
    # Choose a test framework:
    with.test_framework :rspec
    # with.test_framework :minitest
    # with.test_framework :minitest_4
    # with.test_framework :test_unit

    # Choose one or more libraries:
    with.library :active_record
    with.library :active_model
    with.library :action_controller
    # Or, choose the following (which implies all of the above):
    with.library :rails
  end
end

答案 2 :(得分:0)

上面的echo命令可能不适用于Ubuntu 14.04的所有安装。您可以执行sudo vi并物理编辑test_case.rb文件,并将require&#39; test / unit&#39;在现有的要求之后。

答案 3 :(得分:0)

首先:你为什么不使用rvmrbenv?你可以弄乱你的操作系统!

第二:它没有找到任何名为Test的类的引用。你确定这个名字吗?你有没有正确要求它?您使用的是哪种测试框架?