我只是为遗留 Rails 应用程序构建一个测试套件。gem 非常适合查找需要测试覆盖的应用程序的simplecov
黑暗角落(或者可能完全未使用并且可以删除)。我simplecov
只是通过在顶部包含以下内容来调用test/test_helper.rb
:
require 'simplecov'
SimpleCov.start('rails')
问题是这并没有检查嵌入在模板中的所有代码。里面有各种各样的垃圾,我敢肯定很多垃圾都可以删除,但是如果代码覆盖工具可以将我指向未使用的位,那就太好了。
对 Ruby 1.9 库的一些实验让我相信,如果模板以某种方式预编译为 Ruby 代码,保存在 Ruby 源文件中,然后ed 或d,而不是直接加载已编译的模板Coverage
,它才能完成这项工作与. 或者,有可能破解 ERB 在编译过程中将日志语句添加到每个模板的每一行。load
require
eval
有没有人有任何其他想法如何衡量 ERB 模板的代码覆盖率?您知道可以做到这一点的现有工具吗?(或者我必须是构建和发布它的人吗?)