未初始化的常量ActiveSupport :: TestCase

时间:2014-11-24 19:33:52

标签: 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)

1 个答案:

答案 0 :(得分:2)

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

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

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