zoukankan      html  css  js  c++  java
  • maven插件之maven-surefire-plugin,junit单元测试报告和sonar测试覆盖率的整合说明

     

    POM中配置的如下:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.19</version>
    </plugin>
    • 为了让junit单元测试完成时,可以生成报告,必须对工程中src/test/java的class文件如此命名:

    **/Test*.java:任何子目录下所有命名以Test开关的Java类。 
    **/Test.java:任何子目录下所有命名以Test结尾的Java类。 
    *
    /*TestCase.java:任何子目录下所有命名以TestCase结尾的Java类。

    在通过mvn test执行了单元测试后,将会在工程的父级目录target/中生成surefire-reports子文件夹(包含.txt和.xml两种形式) 
    注意:如果不以上方的方式命名,不会生成报告;若引用的为Testng框架则不受此约束

    其实以上都是为了在已配置的sonarqube平台中'代码覆盖率'作准备工作的,那么接下来最后执行如此即可:

    1 mvn clean test cobertura:cobertura -Dcobertura.report.format=xml sonar:sonar
    View Code

    附上一个Demo示例图 

    替代文字 
    替代文字

    以上是本人花了两天时间总结而来的精华,翻阅了大量的网络资料。最后附上一个在实施完成之后的文章,个人推荐:http://seanzhou.iteye.com/blog/1393858

    另外,Demo的pom.xml写得并没有网上的那么复杂,如下:

      1 <?xml version="1.0" encoding="UTF-8"?>
      2 
      3 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      4 
      5 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      6 
      7 <modelVersion>4.0.0</modelVersion>
      8 
      9 <groupId>SelfAnyTest</groupId>
     10 
     11 <artifactId>SelfAnyTest</artifactId>
     12 
     13 <version>0.0.1-SNAPSHOT</version>
     14 
     15 <name>SelfAnyTest</name>
     16 
     17 <description>非项目用的测试与调试工程</description>
     18 
     19 <dependencies>
     20 
     21 <dependency>
     22 
     23 <groupId>junit</groupId>
     24 
     25 <artifactId>junit</artifactId>
     26 
     27 <version>4.12</version>
     28 
     29 <scope>test</scope>
     30 
     31 </dependency>
     32 
     33 </dependencies>
     34 
     35 <distributionManagement>
     36 
     37 <snapshotRepository>
     38 
     39 <id>ossrh</id>
     40 
     41 <url>https://oss.sonatype.org/content/repositories/snapshots</url>
     42 
     43 </snapshotRepository>
     44 
     45 <repository>
     46 
     47 <id>ossrh</id>
     48 
     49 <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
     50 
     51 </repository>
     52 
     53 </distributionManagement>
     54 
     55 <build>
     56 
     57 <resources>
     58 
     59 <resource>
     60 
     61 <directory>src/main/resources</directory>
     62 
     63 </resource>
     64 
     65 </resources>
     66 
     67 <plugins>
     68 
     69 <plugin>
     70 
     71 <groupId>org.apache.maven.plugins</groupId>
     72 
     73 <artifactId>maven-source-plugin</artifactId>
     74 
     75 <version>2.2.1</version>
     76 
     77 </plugin>
     78 
     79 <plugin>
     80 
     81 <groupId>org.apache.maven.plugins</groupId>
     82 
     83 <artifactId>maven-javadoc-plugin</artifactId>
     84 
     85 <version>2.9.1</version>
     86 
     87 </plugin>
     88 
     89 <plugin>
     90 
     91 <groupId>org.apache.maven.plugins</groupId>
     92 
     93 <artifactId>maven-compiler-plugin</artifactId>
     94 
     95 <version>3.3</version>
     96 
     97 <!-- <configuration>
     98 
     99 <source>1.7</source>
    100 
    101 <target>1.7</target>
    102 
    103 <compilerId>eclipse</compilerId>
    104 
    105 </configuration> -->
    106 
    107 <dependencies>
    108 
    109 <dependency>
    110 
    111 <groupId>org.codehaus.plexus</groupId>
    112 
    113 <artifactId>plexus-compiler-eclipse</artifactId>
    114 
    115 <version>2.5</version>
    116 
    117 </dependency>
    118 
    119 </dependencies>
    120 
    121 </plugin>
    122 
    123 <plugin>
    124 
    125 <groupId>org.apache.maven.plugins</groupId>
    126 
    127 <artifactId>maven-surefire-plugin</artifactId>
    128 
    129 <version>2.19</version>
    130 
    131 </plugin>
    132 
    133 </plugins>
    134 
    135 </build>
    136 
    137 </project>
    View Code

    因为maven有很多依赖可以非显示的写入,具体的受限于精力及非服务需要,未作探究。

  • 相关阅读:
    jsp转向
    什么是 XDoclet?
    tomcat中的几点配置说明
    mysql5问题
    POJ 3734 Blocks
    POJ 2409 Let it Bead
    HDU 1171 Big Event in HDU
    POJ 3046 Ant Counting
    HDU 2082 找单词
    POJ 1286 Necklace of Beads
  • 原文地址:https://www.cnblogs.com/hailongchen/p/5242163.html
Copyright © 2011-2022 走看看