当我尝试运行以下代码时:
测试/模型/ 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)
答案 0 :(得分:2)
您不需要正确的Rails minitest文件来设置ActiveSupport::TestCase
。这是一个Rails特定的类,单独在minitest中找不到。你确定你在Rails项目中工作吗?
在大多数情况下,您需要在测试类中使用test_helper
在Rails中设置测试,以便继承ActiveSupport::TestCase
。文件test_helper
包含在Rails项目中运行测试的所有要求和设置。
快速修复:只需继承Minitest::Test
。