【问题标题】:Ruby on Rails, uninitialized constant Test::Unit::TestCase::Assertions (NameError)Ruby on Rails,未初始化的常量 Test::Unit::TestCase::Assertions (NameError)
【发布时间】:2013-01-21 18:40:02
【问题描述】:

就像标题所说的那样,当我尝试运行我的 rspec 测试时,我遇到了上述错误。确切的错误是(为便于阅读而换行):

/.rvm/gems/ruby-1.9.3-p374/gems/test-unit-2.4.8/lib/test/unit/testcase.rb:93:in
 `<class:TestCase>': uninitialized constant 
   Test::Unit::TestCase::Assertions (NameError)

互联网上解决此问题的主要方法似乎是删除“转”宝石,但我没有加载转宝石。这是我的 Gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.8'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'devise'
gem 'therubyracer'
gem 'mysql2'
gem 'cucumber'
gem 'email_spec'
gem 'cancan'
gem 'rolify'
gem 'libv8'
gem 'simple_form'

group :test, :development do
  gem 'rspec-rails'
  gem 'factory_girl_rails'
  gem 'test-unit'
end

group :test do
  gem 'cucumber-rails', :require => false
  gem 'capybara'
  gem 'database_cleaner'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'coffee-rails', '~> 3.2.1'
  gem 'bootstrap-sass'
  gem 'sass-rails',   '~> 3.2.3'
  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

在我的 rspec_helper.rb 文件的 require 'rspec/rails' 中有这行代码时,测试似乎令人窒息。

这个项目曾经完美地运行 rspecs。只有当我重新安装我的操作系统时,它才开始表现不佳。

非常感谢任何帮助

【问题讨论】:

  • 请不要使用 pastebin 等外部服务。如果你有什么想在你的问题中提出的,把它放在你的问题中
  • @meagar 谢谢微薄。我担心将 Gem 文件放在那里会导致我的帖子太粗。很高兴知道我可以将所有相关数据放在一个地方。
  • 您没有锁定 Gem 的版本,因此当您重新安装它们时出现一些损坏也就不足为奇了。出于好奇,您能否查看您的 Gemfile.lock 文件以查看 turn 是否作为依赖项包含在内?
  • @IsaacCambron 我检查了我的 Gemfile.lock 文件,CTRL+F 显示没有转向依赖关系。我仍然可以访问我的旧系统,你认为我应该在新旧系统之间检查我的 gem 版本并尝试将其抽出来吗?
  • @IsaacCambron 好的,Isaac,这不是解决方案,但它引导我朝着正确的方向前进。显然,包括 gem 'test-unit' 是导致它窒息的原因,为什么我不知道。另外,我确实听从了您的建议并锁定了我的 gem,以避免以后不得不掉头回到 StackOverflow。

标签: ruby-on-rails rspec testunit


【解决方案1】:

由于您没有生成新应用,请删除该行

gem '测试单元'

从您的 Gemfile 中删除 gems turn 和 minitest,然后进行捆绑更新。

【讨论】:

  • 你读过这个问题吗?他正在在他的 Gemfile 中包含该行,并且测试过去正常工作。
【解决方案2】:

答案:如果您查看我的 Gemfile,您会在我的小组 :test, :development 中看到 gem 'test-unit' 的需求。我评论了这一点,它就像一个魅力。我不知道这是为什么以及如何工作,如果有人介意解释,请继续。

【讨论】:

  • 与其提交自己的答案,不如投票并接受 Paulo Fidalgo 的 answer,因为这是他 40 分钟前建议的确切解决方案。
  • @meagar 我的天哪。他的第一个答案涉及到一些关于转弯的事情,所以我把他调出来了。原来他对的!
猜你喜欢
  • 2016-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多