我最近开始研究大型Rails应用程序。 Simplecov称测试覆盖率高于90%。很好。
然而,我一次又一次地发现测试套件甚至没有加载的文件。这些文件实际上是在生产中使用但由于某种原因,没有人关心甚至写出关于它们的最简单的测试。 因此,他们不计入覆盖率指标。
它令我担心,因为在我们没有注意到的情况下,有一些未知数量的代码可能会破坏。
我是唯一一个遇到此问题的人吗?有一个众所周知的解决方案吗? 我们可以为未加载的文件设置覆盖率指标吗?
答案 0 :(得分:3)
贡献者为此目的添加了新的配置选项track_files
。对于rails项目,该值可能如下所示
track_files '{app,lib}/**/*.rb'
答案 1 :(得分:1)
我最后将其添加到我的environments/test.rb
:
config.eager_load = true
config.eager_load_paths += ["#{config.root}/lib"]
但是,添加lib/
可能会有缺点,例如加载生成器等。 This post在解释每种方法的利弊方面做得很好。