ruby-on-rails - 未初始化常量 ActiveSupport::TestCase

标签 ruby-on-rails

当我尝试运行以下代码时:

测试/模型/tweet_test.rb

require 'minitest/spec'
require 'minitest/autorun'

class TweetTest < ActiveSupport::TestCase
  test "Tweet should not be null" do
    tweet = true
    assert tweet
  end
end

我收到此错误:

tweet_test.rb:4:in `<main>': uninitialized constant ActiveSupport (NameError)

我正在完美地遵循教程。为什么会发生这种情况? ActiveSuport::TestCase 是否已被弃用?

更新: 我试图require 'test_helper':

require 'minitest/spec'
require 'minitest/autorun'
require 'test_helper'

class TweetTest < ActiveSupport::TestCase
  test "Tweet should not be null" do
    tweet = true
    assert tweet
  end
end

但收到以下错误:

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- test_helper (LoadError)

最佳答案

您不需要正确的 Rails minitest 文件来设置 ActiveSupport::TestCase。这是 Rails 特定的类,无法单独在 minitest 中找到。您确定您正在 Rails 项目中工作吗?

在大多数情况下,您可以通过在测试类中要求 test_helper 来在 Rails 中设置测试,以便可以从 ActiveSupport::TestCase 继承。文件 test_helper 包含在 Rails 项目中运行测试的所有要求和设置。

快速修复:只需继承Minitest::Test

关于ruby-on-rails - 未初始化常量 ActiveSupport::TestCase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27112713/

相关文章:

ruby-on-rails - 在Rails中使用HTTP GET请求进行CSRF保护

mysql - Rails 4 迁移不向现有数据库添加字段

html - 使用 iPhone Safari 的 YouTube iframe 页面上的链接和按钮响应较慢

ruby-on-rails - 升级到 Rails 7 时迁移加密的数据库字段

ruby-on-rails - Ruby on Rails 作为设备

ruby-on-rails - 类似于共享点但内置在 Rails 上的 ruby ?

ruby-on-rails - 为什么我应该在部署 Web 应用程序之前向 Ubuntu 添加新用户?

ruby-on-rails - 在保存到数据库之前初始化模型对象并检查有效性

ruby-on-rails - 从表单值 ruby​​ on rails 更新模型数据

ruby-on-rails - Haml 单选按钮预选语法