Imr*_*hid 5 testing code-coverage
我熟悉许多代码覆盖率工具,它们告诉我我的测试覆盖了多少行/分支/等,甚至告诉我代码的哪些部分覆盖率很低。
是否有任何工具可以做相反的事情——也就是说,给定一段代码,它可以告诉我哪些测试会触及它吗?通过使用相关的测试,这将使开始探索不熟悉和记录不佳的代码变得容易。
您可能会说从单元测试的组织方式来看应该是显而易见的,但事实往往并非如此。我曾参与过不止一个项目就是这种情况。
我碰巧对 java/scala 感兴趣,但我也只是感兴趣,如果有什么能做到这一点,或者它只是一个完全疯狂的想法。
这很容易实现。您要做的就是单独运行单元测试并捕获它们单独的跟踪信息。
现在,跟踪本质上是一个位向量,其中每个位代表程序中被覆盖或未被覆盖的位置。
然后,您为感兴趣的代码构建人工跟踪。(大多数工具不会让这变得容易,但工具可用的覆盖信息应该使这成为可能)。
最后,您获取人工跟踪,并将其(它是一个位向量,还记得吗?)与各个单元测试跟踪相交。非空交集标识了执行感兴趣代码的那些测试。
Semantic Designs(我的公司,请参阅简介)提供了测试覆盖工具,可以收集测试的单独跟踪,并可以使用其 UI 进行交集。一些定制编码可以制造人工痕迹。
归档时间: |
|
查看次数: |
105 次 |
最近记录: |