首页 文章

如何测试Rails ERB模板的代码覆盖率?

提问于
浏览
9

我只是为传统的Rails应用程序构建测试套件 . simplecov gem非常适合找到需要测试覆盖的应用程序的黑暗角落(或者可能完全未使用且可以删除) . 我只是通过在 test/test_helper.rb 的顶部包含以下内容来调用 simplecov

require 'simplecov'
SimpleCov.start('rails')

问题是,这不会检查嵌入在模板中的所有代码 . 那里有各种各样的垃圾,我确信很多垃圾都可以删除,但如果代码覆盖工具可以指向未使用的位,那将是非常好的 .

使用Ruby 1.9的 Coverage 库进行的一些实验让我相信,如果模板以某种方式预先编译为Ruby代码,保存在Ruby源文件中,然后保存在软件中,而不是加载直接使用 eval 编译模板 . 或者,可能会破坏ERB在编译过程中向每个模板的每一行添加日志记录语句 .

有没有人有任何其他想法如何衡量ERB模板的代码覆盖率?你知道一个可以做到这一点的已经制造的工具吗? (或者我必须成为构建和发布它的人吗?)

2 回答

相关问题