2012-09-27 89 views
1

任何人都可以指示我使用Ruby代码检测未使用的代码,对象,方法,参数等的工具吗?在Ruby代码中查找未使用的构造的工具?

我看到nitpick但它似乎并没有给我我想要的覆盖范围。我也检查了laserreek,但他们各自的宝石似乎有问题,阻止他们运行。

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

回答

1

如果我们希望“检测未使用的代码”的方式有更多的上下文,这可能会有所帮助 - 您正在查看的测试的代码覆盖率是多少?否则,你会如何知道从运行到运行你是否碰到所有用例?或者你是否在寻找一段时间内覆盖率的统计“热图”性能的原因?

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

+0

有问题的脚本是自包含的程序,作为一般规则。可以说,给定脚本中的方法都将在该脚本内被调用,除了用于与“外部世界”接口的脚本之外。因此,知道一个脚本是否“命中所有用例”非常简单:要么调用该方法,要么不调用该方法。 –

1

你也可以使用一个突变测试器发生变异代码。如果突变检测仪可以在没有检测到的情况下删除构建体。你发现了一个未使用的构造。

我知道红宝石2个突变测试:

声明,我是突变的作者。

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

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

相关问题