Rake::TestTask 默认库不需要我的 ./lib 文件夹

Rake::TestTask default libs not requiring my ./lib folder

我在一个简单的 Rack 应用程序中工作,试图用单元测试更新一些模型。我添加了一个 rake:TestTask.new 任务:

Rake::TestTask.new do |t|
  t.test_files = FileList['test/*_test.rb']
  t.verbose = true
end

t.libs 默认情况下仅指定 ['lib'],所以我希望这会自动要求我的本地 ./lib 目录...但它没有。这是指代系统库吗?作为一种解决方法,我正在使用 test_helper.rb 和 Dir[File.expand_path('../lib/**/*.rb', File.dirname(__FILE__))].each { |file| require file } 进行我的要求,但除非有理由不这样做,否则我宁愿要求我的所有库一次,而不是在每个测试文件的顶部。

TestTask 会将 lib 添加到加载路径,但实际上并不加载文件。您的测试应该需要 运行.

所需的代码