要使用MiniTest::Rails::Testing.default_tasks << 'lib'
,您需要将minitest-rails gem 添加到您的 Gemfile。它与 Minitest 分开,并添加了许多在 Rails 中默认未启用的 Minitest 功能。minitest-rails 添加了其他功能,例如为所有具有测试的目录创建 rake 任务。因此,无需对您的 Rakefile 进行任何更改,您就可以运行如下操作:
$ rake minitest:lib
或者,要以老式方式执行此操作,您可以将以下内容添加到您的 Rakefile:
namespace :test do
desc "Test lib source"
Rake::TestTask.new(:lib) do |t|
t.libs << "test"
t.pattern = 'test/lib/**/*_test.rb'
t.verbose = true
end
end
Rake::Task[:test].enhance { Rake::Task["test:lib"].invoke }
这假设您想在不使用任何数据库设备的情况下运行您的 lib 测试。如果您想要夹具和数据库事务,那么您应该创建依赖于“test:prepare”的 rake 任务。
namespace :test do
desc "Test lib source"
Rake::TestTask.new(:lib => "test:prepare") do |t|
t.libs << "test"
t.pattern = 'test/lib/**/*_test.rb'
t.verbose = true
end
end
Rake::Task[:test].enhance { Rake::Task["test:lib"].invoke }