Jetty Cobertura报告在任何地方都有100%的覆盖率

Jetty Cobertura报告在任何地方都有100%的覆盖率,jetty,integration-testing,cobertura,Jetty,Integration Testing,Cobertura,我正在使用Jetty和我的工具类运行我的webApp。 关闭Jetty后,我将获取生成的.set文件,并使用命令行工具创建一个cobertura报告 任何课程我都能得到100%的覆盖率。 Cobertura似乎只考虑测试期间执行的行,而没有获得完整的类数据 我尝试将源文件添加到报告中-没有帮助。 我还尝试获取插装后创建的.ser文件,并将其与Jetty关机后创建的.ser文件合并(实际上是同一个文件,但在运行Jetty之前,我备份了插装后创建的.ser)-这里也没有帮助 有人能帮忙吗 感谢100

我正在使用Jetty和我的工具类运行我的webApp。 关闭Jetty后,我将获取生成的.set文件,并使用命令行工具创建一个cobertura报告

任何课程我都能得到100%的覆盖率。 Cobertura似乎只考虑测试期间执行的行,而没有获得完整的类数据

我尝试将源文件添加到报告中-没有帮助。 我还尝试获取插装后创建的.ser文件,并将其与Jetty关机后创建的.ser文件合并(实际上是同一个文件,但在运行Jetty之前,我备份了插装后创建的.ser)-这里也没有帮助

有人能帮忙吗


感谢

100%的覆盖率是一个明确的指标,即报告缺少来源。您应该检查创建报告的配置

确保:

  • 您提供了正确的文件夹
  • 源文件夹的结构类似于包,而不仅仅是一个目录中的所有类
如中所述,在回答“当我生成覆盖率报告时,为什么它们总是在所有地方显示100%的覆盖率?”

“Cobertura在生成报告时可能使用了错误的.ser文件。在对类进行指令插入时,Cobertura会生成一个.ser文件,其中包含每个类的基本信息。在测试运行时,Cobertura会向同一数据文件中添加其他信息。如果插入指令的类在运行时找不到数据文件,那么它们将创建一个新的数据文件。在检测、运行和生成报告时,务必使用相同的cobertura.ser文件。”

在我的例子中,当插入指令的类位于一个.ser中时,我遇到了这个问题,在执行过程中,我生成了另一个.ser。从第二个.ser生成HTML报告“just”显示了问题中提到的问题。合并两个数据文件(.ser)并重新生成报告,解决了这个问题


有关“合并数据文件”的信息,请参阅。

谢谢-我更正了源文件夹路径(它是错误的),现在我可以在报告中看到源代码了!但仍然覆盖率是100%无处不在(您可以在源代码上看到它实际上不是)很好地发现了这个问题!因为我们手动完成了所有过程,似乎我们意外地检测了已经检测的类..我想这让Cobertura感到困惑(源代码不再匹配)并生成了错误的报告..谢谢!