我将此代码放在我的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)>'
如何摆脱错误,但仍然可以从
加载测试文件答案 0 :(得分:3)
插入
.lower()
进入Rakefile
答案 1 :(得分:1)
我在Rails 5.2升级(从Rails 4.2)中看到了这一点。对我来说,解决方法是到处都将Rails::TestTask
重命名为Rake::TestTask
。