Selenium 与Cobertura相比,用于声纳集成测试的JaCoCo实际上是如何工作的?

Selenium 与Cobertura相比,用于声纳集成测试的JaCoCo实际上是如何工作的?,selenium,sonarqube,jacoco,Selenium,Sonarqube,Jacoco,Cobertura的工作方式是:首先1)检测要跟踪的源文件,然后2)执行单元测试并将这些测试与检测的类进行比较。这样我们可以计算代码覆盖率 然而,对于jacocoforintegrationtests(Selenium),我还没有在文档中看到这个“工具化”阶段。JaCoCo代理只是设置为在执行测试时动态跟踪“动态”覆盖的源代码。JaCoCo如何知道要与哪些源代码进行比较,因为代码没有像Cobertura那样预先进行检测?另外,如果我想排除一些源代码呢?事实上,根据定义,Jacoco会插入所有ja

Cobertura的工作方式是:首先1)检测要跟踪的源文件,然后2)执行单元测试并将这些测试与检测的类进行比较。这样我们可以计算代码覆盖率


然而,对于jacocoforintegrationtests(Selenium),我还没有在文档中看到这个“工具化”阶段。JaCoCo代理只是设置为在执行测试时动态跟踪“动态”覆盖的源代码。JaCoCo如何知道要与哪些源代码进行比较,因为代码没有像Cobertura那样预先进行检测?另外,如果我想排除一些源代码呢?

事实上,根据定义,Jacoco会插入所有java字节码,但您可以借助“排除”/“包含”Jacoco参数来调整此行为,请参阅

嗯,我还是很困惑。我知道Jacoco对它所涉及的类(即知道的类)进行了测试,但这当然不足以覆盖代码,因为您当然也想知道哪些类根本不涉及。我不明白Jacoco是如何通过类加载器或什么知道“其他”类的?你是对的,有两个步骤,第二个步骤由Sonar自动考虑。嗨,Freddy。声纳是如何自动考虑第二步的?对于Selenium测试所使用的一些帮助器类,我有几个百分比的代码覆盖率,但由于某些原因,所有Web和业务逻辑组件的覆盖率都为0%。为什么声纳不包括这些来源?这些来源包括在声纳中。。。