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

时间:2012-09-27 17:56:56

标签: ruby code-analysis

任何人都可以指向我使用工具来检测Ruby代码中未使用的代码,对象,方法,参数等吗?

我看到nitpick但它似乎没有给我我想要的报道。我还检查了laserreek,但他们各自的宝石似乎都有阻止它们运行的​​问题。

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

3 个答案:

答案 0 :(得分:1)

如果我们在如何“检测未使用的代码”方面有更多的背景信息,这可能有所帮助 - 您正在研究的测试的代码覆盖率是多少?否则,你怎么知道从运行到运行是否你遇到了所有的用例?或者您是否正在寻找一段时间内覆盖率的统计“热图”,例如表现原因?

在任何情况下,对于测试时的代码覆盖,我使用SimpleCov - 它使用Ruby 1.9的内置Coverage库,顶部有一些不错的糖。

答案 1 :(得分:1)

您还可以使用变异测试程序来改变您的代码。如果变异测试人员可以在没有您的测试注意的情况下删除构造。您找到了一个未使用的构造。

我知道两个针对ruby的变异测试者:

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

根据您的设置,您的ruby版本,规格布局,测试框架heckle和/ mutoid可以为您完成这项工作。

在这里你可以看到突变体在行动:http://ascii.io/a/1707

答案 2 :(得分:0)