gpt4 book ai didi

ruby-on-rails - 如何测试 Rails ERB 模板的代码覆盖率?

转载 作者:数据小太阳 更新时间:2023-10-29 06:46:45 26 4
gpt4 key购买 nike

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

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

问题是这不会检查模板中嵌入的所有代码。那里有各种各样的垃圾,我敢肯定其中很多都可以删除,但如果代码覆盖工具可以将我指向未使用的位,那就太好了。

对 Ruby 1.9 的 Coverage 库进行的一些实验让我相信,只有将模板以某种方式预编译为 Ruby 代码,保存在 Ruby 源文件中,然后loaded 或 required,而不是直接使用 eval 加载已编译的模板。或者,有可能破解 ERB,在编译过程中将日志语句添加到每个模板的每一行。

有没有人对如何衡量 ERB 模板的代码覆盖率有任何其他想法?您知道可以执行此操作的现成工具吗? (或者我必须是构建和发布它的人吗?)

最佳答案

参见: How do I get coverage for view specs with rspec, rails, and simplecov?

答案是,你不能:

https://github.com/colszowka/simplecov/issues/38

我希望有人能解决这个严重缺陷。AFIK 没有什么比 Ruby 1.9 的 simplecov 更好

关于ruby-on-rails - 如何测试 Rails ERB 模板的代码覆盖率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13030909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com