簡體   English   中英

運行Rails控制台時未初始化的常量測試

[英]uninitialized constant Test when running Rails console

在終端中運行rails console時,我得到了uninitialized constant Test 我不確定為什么要設置它並使用命令rails server起作用。

這是我得到的錯誤:

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

我在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

復制並粘貼來自Shoulda-matchers入門指南的配置時,我遇到了這個問題。 但是我沒有刪除未使用的測試框架。

要與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

上面的echo命令可能不適用於所有安裝的Ubuntu 14.04。 您可以執行sudo vi並實際編輯test_case.rb文件,並將require'test / unit'放在現有的require之后。

第一:為什么不使用rvmrbenv 您可能會弄亂您的操作系統!

第二:找不到對名為Test的類的任何引用。 您確定是這個名字嗎? 您有適當的要求嗎? 您正在使用哪個測試框架?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM