我将这段代码放在我的Rakefile中,以便能够从附加的文件夹“test/classes”(而不仅仅是从test/models、test/controllers等文件夹)运行测试:
# 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)>'
我应该怎么做才能消除错误,同时仍然能够加载测试文件?
Rails :: TestTask
重命名为Rake :: TestTask
。 - andyrue