我在从我的 rails 路由自动生成的一组测试中使用 rcov 来收集有关死代码(在应用程序中从未调用过的代码)的信息。这种设置已经为控制器、模型、助手和 lib 代码产生了启发性的结果。不幸的是,rcov 不跟踪 erb 模板中的代码覆盖率,这是有道理的,因为 erb 模板是对正常执行概念的一个相当具有挑战性的延伸。
Rails 本身可以生成关于在模板中引发异常的位置等的良好报告,所以我觉得这是可以收集的数据。
我目前正在尝试在 rcov 中找到可以连接的点,但是系统的 Ouroboros 特性使得很难清楚地看到正在发生的事情。我还怀疑有必要对 ERB 进行一些猴子补丁。
如果您对方法或解决方案有任何想法,我将不胜感激。设置好视图功能后,我将清理此代码并将其作为开源 Rails 插件发布。