我在 Rails 6.1.3.1 中遇到了一个奇怪的测试问题。我创建了一个文件,用于生成有关我的数据的各种统计信息,该文件位于lib/modules/stats.rb
. 我添加了一个test/modules/stats_test.rb
运行此测试的测试文件,并且我有 100% 的覆盖率。
这些统计数据可以在不同的地方使用,其中之一是在 Rake 任务中。所以,我lib/tasks/stats.rake
按照以下思路创建了 :
require "#{Rails.root}/lib/modules/stats.rb"
include Stats
namespace :stats do
desc 'Print all the stats'
task :print => [:environment] do
stats = StatsMethods.generate_all_the_stats
puts stats
end
end
由于此文件的第一行存在,rake test
不再运行test/modules/stats_test.rb
;覆盖率成比例下降。这里发生了什么?