NameError:未初始化的常量Rails :: TestTask

时间:2017-02-21 09:32:39

标签: ruby-on-rails ruby rake rake-task rakefile

我将此代码放在我的Rakefile中,以便能够从其他文件夹运行测试" test / classes" (不只是来自测试/模型,测试/控制器等):

# Adding test/classes directory to rake test.
namespace :test do # line 9
  desc "Test tests/classes/* code"
  Rails::TestTask.new(parsers: 'test:prepare') do |t| # line 11
    t.pattern = 'test/classes/**/*_test.rb'
  end
end

Rake::Task['test:run'].enhance ["test:classes"]

当我运行rails test时,此代码可以正常运行。

但是当我运行rails db:migrate时,我收到此错误:

NameError: uninitialized constant Rails::TestTask
/Users/Developer/project/Rakefile:11:in `block in <top (required)>'
/Users/Developer/project/Rakefile:9:in `<top (required)>'

如何摆脱错误,但仍然可以从

加载测试文件

2 个答案:

答案 0 :(得分:3)

插入

.lower()

进入Rakefile

答案 1 :(得分:1)

我在Rails 5.2升级(从Rails 4.2)中看到了这一点。对我来说,解决方法是到处都将Rails::TestTask重命名为Rake::TestTask