Sha*_*o K 5 java code-coverage maven jacoco
我有以下 pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18</version>
<configuration>
<!-- Sets the VM argument line used when unit tests are run. -->
<argLine>-Xms512m -Xmx1024m -XX:MaxPermSize=512m ${jacoco.agent.argLine}</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.5.201505241946</version>
<configuration>
<dataFile>target/jacoco.exec</dataFile>
</configuration>
<executions>
<execution>
<id>pre-unit-test</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<propertyName>jacoco.agent.argLine</propertyName>
<destFile>target/jacoco.exec</destFile>
</configuration>
</execution>
<execution>
<id>default-report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我正在使用 maven-compiler-plugin v2.5.1
当我从 Eclipse 进行干净测试时,它会创建 target/jacoco.exec 文件,一旦它创建,我就运行它jacoco:report并创建报告。但是该报告显示了除一个包之外所有代码覆盖率为 0% 的包。
当我使用 cobertura 为同一组类运行报告时,它正确地向我们显示了代码覆盖率。
这里可能有什么问题?
添加我的 Maven 日志:
[INFO] Scanning for projects...
[INFO]
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Adaptive Payment Platrom Core 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ app-core ---
[INFO] Deleting C:\Users\SHANK030\git\AdaptivePaymentPlatform\APP_Core\target
[INFO]
[INFO] --- jacoco-maven-plugin:0.7.5.201505241946:prepare-agent (pre-unit-test) @ app-core ---
[INFO] jacoco.agent.argLine set to -javaagent:C:\\Users\\SHANK030\\.m2\\repository\\org\\jacoco\\org.jacoco.agent\\0.7.5.201505241946\\org.jacoco.agent-0.7.5.201505241946-runtime.jar=destfile=C:\\Users\\SHANK030\\git\\AdaptivePaymentPlatform\\APP_Core\\target\\jacoco.exec,excludes=com/wdpr/payment/data/vo/*.class:com/wdpr/payment/data/mapper/*.class:com/wdpr/payment/helper/provider/AbstractInitializer.class:com/wdpr/payment/helper/provider/Agent.class:com/wdpr/payment/helper/provider/AgentException.class:com/wdpr/payment/helper/provider/AgentFactory.class:com/wdpr/payment/helper/provider/CachedProperties.class:com/wdpr/payment/helper/provider/CachedPropertiesListener.class:com/wdpr/payment/helper/provider/ConnectionPoolAgent.class:com/wdpr/payment/helper/provider/ConnectionPoolUtility.class:com/wdpr/payment/helper/provider/FixedLengthFieldMessage.class:com/wdpr/payment/helper/provider/InitializerSampleImpl.class:com/wdpr/payment/helper/provider/Loader.class:com/wdpr/payment/helper/provider/PropertyHelper.class:com/wdpr/payment/helper/provider/Provider.class:com/wdpr/payment/helper/provider/StratusAck.class:com/wdpr/payment/helper/provider/StratusAuthReq.class:com/wdpr/payment/helper/provider/StratusAuthRsp.class:com/wdpr/payment/helper/provider/StratusConnection.class:com/wdpr/payment/helper/provider/StratusConnectionMgr.class:com/wdpr/payment/helper/provider/StratusConnectionReader.class:com/wdpr/payment/helper/provider/StratusConnectionUtility.class:com/wdpr/payment/helper/provider/StratusFormatException.class:com/wdpr/payment/helper/provider/StratusHeartbeat.class:com/wdpr/payment/helper/provider/StratusMessage.class:com/wdpr/payment/helper/provider/StratusShutdown.class:com/wdpr/payment/helper/provider/StratusStartup.class:com/wdpr/payment/helper/provider/StratusUtility.class:com/wdpr/payment/helper/provider/StratusWebServiceProvider.class:com/wdpr/payment/helper/provider/Timer.class:com/wdpr/payment/helper/provider/WrappedException.class:com/wdpr/payment/helper/outbound/*.class
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ app-core ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO] Copying 30 resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ app-core ---
[INFO] Compiling 129 source files to C:\Users\SHANK030\git\AdaptivePaymentPlatform\APP_Core\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ app-core ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 4 resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ app-core ---
[INFO] Compiling 71 source files to C:\Users\SHANK030\git\AdaptivePaymentPlatform\APP_Core\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.18:test (default-test) @ app-core ---
[INFO] Surefire report directory: C:\Users\SHANK030\git\AdaptivePaymentPlatform\APP_Core\target\surefire-reports
Run Code Online (Sandbox Code Playgroud)
更新
添加另一个 Maven 日志...这是在运行测试用例之后
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ app-core ---
[INFO] Building jar: C:\Users\SHANK030\git\AdaptivePaymentPlatform\APP_Core\target\appCore.jar
[INFO]
[INFO] --- jacoco-maven-plugin:0.7.5.201505241946:report (default-report) @ app-core ---
[INFO] Analyzed bundle 'Adaptive Payment Platrom Core' with 68 classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:08 min
[INFO] Finished at: 2015-06-04T15:28:28-05:00
[INFO] Final Memory: 51M/594M
[INFO] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我在我的应用程序中使用 powermock,它与 JaCoCo 执行的在线检测不能很好地配合。因此,使用离线仪器并排除一些对我有用的闭包类。
我正在使用 mvn clean verify install 运行该作业,下面是我的 pom.xml 的更改片段。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18</version>
<executions>
<execution>
<id>default-test</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<systemPropertyVariables>
<jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile>
</systemPropertyVariables>
<forkMode>once</forkMode>
<argLine>-Xms1024m -Xmx2048m -XX:MaxPermSize=1024m</argLine>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>**/StratusAuthTemplateProviderTest.class</exclude>
<exclude>**/StratusBalanceInquiryTemplateProviderTest.class</exclude>
<exclude>**/PersistCardAuthDetailsForRefundProcessorTest.class</exclude>
<exclude>**/PersistCardTxnDetailsProcessorTest.class</exclude>
<exclude>**/StratusAuthProcessorTest.class</exclude>
<exclude>**/UpdateTxnStatusTest.class</exclude>
<exclude>**/RulesTest.class</exclude>
<exclude>**/SampleRulesTest.class</exclude>
<exclude>**/RefundUpdatePmtTxnConfirmationProcessorTest.class</exclude>
<exclude>**/vo/*.class</exclude>
<exclude>**/outbound/*.class</exclude>
<exclude>**/notification/*.class</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.4.201502262128</version>
<configuration>
<excludes>
<exclude>com/wdpr/payment/data/mapper/*.class</exclude>
<exclude>**/*AjcClosure?.class</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>default-instrument</id>
<goals>
<goal>instrument</goal>
</goals>
</execution>
<execution>
<id>default-restore-instrumented-classes</id>
<goals>
<goal>restore-instrumented-classes</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>default-check</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<rules>
<rule>
<element>METHOD</element>
</rule>
</rules>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18014 次 |
| 最近记录: |