在Ruby代码中查找未使用的构造的工具?

在Ruby代码中查找未使用的构造的工具?,ruby,code-analysis,Ruby,Code Analysis,有人能告诉我一个在Ruby代码中检测未使用的代码、对象、方法、参数等的工具吗 我看到了的挑剔,但它似乎没有给我想要的报道。我还检查了laser和reek,但它们各自的宝石似乎有问题,无法运行 我曾经认为Ruby二进制文件有一种模式可以检测未使用的结构,但我似乎找不到它。如果我们在如何“检测未使用的代码”方面有更多的上下文,这可能会有所帮助-这是您正在研究的测试的代码覆盖率吗?否则,您如何从一个运行到另一个运行知道您是否满足所有用例?或者,您是否在寻找覆盖率随时间变化的统计“热图”,例如性能原因

有人能告诉我一个在Ruby代码中检测未使用的代码、对象、方法、参数等的工具吗

我看到了
的挑剔
,但它似乎没有给我想要的报道。我还检查了
laser
reek
,但它们各自的宝石似乎有问题,无法运行


我曾经认为Ruby二进制文件有一种模式可以检测未使用的结构,但我似乎找不到它。

如果我们在如何“检测未使用的代码”方面有更多的上下文,这可能会有所帮助-这是您正在研究的测试的代码覆盖率吗?否则,您如何从一个运行到另一个运行知道您是否满足所有用例?或者,您是否在寻找覆盖率随时间变化的统计“热图”,例如性能原因


在任何情况下,对于测试时的代码覆盖率,我使用的是Ruby 1.9的内置库,上面有一些漂亮的糖。

JetBrains RubyMine

您也可以使用变异测试仪来变异代码。以防突变测试人员可以在您的测试没有注意到的情况下删除一个构造。您发现了一个未使用的构造

我知道ruby的两个突变测试仪:

免责声明,我是《变种人》的作者

根据您的设置,您的ruby版本、规范布局、测试框架heckle和/或变体可以为您完成这项工作


在这里,您可以看到突变体的作用:

一般来说,所讨论的脚本是自包含的程序。给定脚本中的方法都将在该脚本中调用,但用于与“外部世界”接口的方法除外。因此,知道脚本是否“命中所有用例”非常简单:要么调用方法,要么不调用方法。不幸的是,RubyMine似乎只捕获未使用的局部变量。