是否有任何其他方式或宝石可用于查找应用程序的代码覆盖率。我发现对于miniunit测试用例,我们有SimpleCov和RCov。我目前正在使用带有ruby 2.1和rails 4.2.1的Miniunit测试框架。
答案 0 :(得分:2)
用于测试覆盖的最好的两颗宝石是SimpleCov和Rcov。您还可以使用coveralls.io作为支持GitHub的托管解决方案。
答案 1 :(得分:2)
在大多数情况下,Rails的最佳代码覆盖解决方案是SimpleCov。
Rcov现在已经过时了,因为它与Ruby 1.9及以上版本不兼容。
另外,如果您对变异测试感兴趣,请查看mutant gem。
这个想法是,如果代码可以更改并且您的测试没有注意到,那么该代码不会被覆盖,或者它没有明显的副作用。
现在它只支持RSpec。 Minitest集成仍在进行中。
关于它,这是一个很棒的article。 基本上,Rcov和SimpleCov只检查线路覆盖范围。
变异测试需要您的代码和测试。它将代码解析为抽象语法树。它改变了树的节点(变异)。它在记忆中做到了。结果我们现在有一个突变体 - 你的代码的变异版本......这里的想法是测试应该杀死突变体。当突变代码的测试失败时,杀死突变体就会发生。杀死所有突变体意味着你有100%的测试覆盖率。这意味着您可以测试所有代码详细信息。这意味着您可以安全地进行重构,并且您的测试确实覆盖了您。