如何检测未经测试的ruby文件?

时间:2015-07-30 14:01:09

标签: ruby testing code-coverage simplecov

我最近开始研究大型Rails应用程序。 Simplecov称测试覆盖率高于90%。很好。

然而,我一次又一次地发现测试套件甚至没有加载的文件。这些文件实际上是在生产中使用但由于某种原因,没有人关心甚至写出关于它们的最简单的测试。 因此,他们不计入覆盖率指标。

它令我担心,因为在我们没有注意到的情况下,有一些未知数量的代码可能会破坏。

我是唯一一个遇到此问题的人吗?有一个众所周知的解决方案吗? 我们可以为未加载的文件设置覆盖率指标吗?

2 个答案:

答案 0 :(得分:3)

贡献者为此目的添加了新的配置选项track_files。对于rails项目,该值可能如下所示

track_files '{app,lib}/**/*.rb'

此处有更多详情:https://github.com/colszowka/simplecov/pull/422

答案 1 :(得分:1)

我最后将其添加到我的environments/test.rb

config.eager_load = true
config.eager_load_paths += ["#{config.root}/lib"]

但是,添加lib/可能会有缺点,例如加载生成器等。 This post在解释每种方法的利弊方面做得很好。