jacoco maven单元测试用例surefire插件

时间:2016-06-07 07:26:20

标签: maven unit-testing jacoco jacoco-maven-plugin

我想运行单元测试用例并生成jacoco报告。

我在src / main / java下的代码和src / test / java

下的测试用例

下面是我的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<!-- Git Fun (?) -->

<groupId>com.xxx.yyy</groupId>
<artifactId>commonlibrary</artifactId>
<version>${revision}</version>
<packaging>jar</packaging>

<name>automation_commonlibrary</name>
<url>http://maven.apache.org</url>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <jacoco.it.execution.data.file>${basedir}/target/jacoco-it.exec</jacoco.it.execution.data.file>
    <jacoco.ut.execution.data.file>${basedir}/target/jacoco-ut.exec</jacoco.ut.execution.data.file>
</properties>
<build>
    <resources>
        <resource>
            <filtering>false</filtering>
            <directory>src/main/resources</directory>
            <includes>
                <include>log4j.properties</include>
                <include>automation.properties</include>
                <include>Driver.xml</include>
                <include>chromedriver.exe</include>
                <include>IEDriverServer_32.exe</include>
                <include>IEDriverServer_64.exe</include>
                <include>toro.properties</include>
                <include>AutoItX3_x64.dll</include>
                <include>AutoItX3.dll</include>
                <include>jacob-1.18-M2-x64.dll</include>
                <include>jacob-1.18-M2-x86.dll</include>
            </includes>
        </resource>
    </resources>
    <pluginManagement>
        <plugins>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <!-- here the phase you need -->
                        <phase>validate</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${basedir}/target</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>${basedir}/src/main/resources</directory>
                                    <filtering>true</filtering>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.10</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>target/lib</outputDirectory>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <appendAssemblyId>false</appendAssemblyId>
                    <archive>
                        <manifest>
                            <mainClass>com.xxx.yyy.automation.common.Execute</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id> <!-- this is used for inheritance merges -->
                        <phase>package</phase> <!-- bind to the packaging phase -->
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <archive>
                        <index>true</index>
                        <manifest>
                            <mainClass>automation.common.Execute</mainClass>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>./lib/</classpathPrefix>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.7.5.201505241946</version>
                <executions>
                    <!-- The Executions required by unit tests are omitted. -->
                    <!-- Prepares the property pointing to the JaCoCo runtime agent which 
                        is passed as VM argument when Maven the Failsafe plugin is executed. -->
                    <execution>
                        <id>pre-unit-test</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                        <configuration>
                            <!-- Sets the path to the file which contains the execution data. -->
                            <destFile>${jacoco.ut.execution.data.file}</destFile>
                            <!-- Sets the name of the property containing the settings for JaCoCo 
                                runtime agent. -->
                            <propertyName>surefireArgLine</propertyName>
                        </configuration>
                    </execution>
                    <!-- Ensures that the code coverage report for unit tests is created 
                        after unit tests have been run. -->
                    <execution>
                        <id>post-unit-test</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <!-- Sets the path to the file which contains the execution data. -->
                            <dataFile>${jacoco.ut.execution.data.file}</dataFile>
                            <!-- Sets the output directory for the code coverage report. -->
                            <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
                <configuration>
                    <!-- Sets the VM argument line used when unit tests are run. -->
                    <argLine>${surefireArgLine}</argLine>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.surefire</groupId>
                        <artifactId>surefire-junit47</artifactId>
                        <version>2.19.1</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </pluginManagement>
</build>
<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.2.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.5.0-b01</version>
    </dependency>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.9.8</version>
    </dependency>
    <dependency>
        <groupId>Html</groupId>
        <artifactId>gagawa</artifactId>
        <version>1.0.1</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.32</version>
    </dependency>
    <dependency>
        <groupId>com.jcraft</groupId>
        <artifactId>jsch</artifactId>
        <version>0.1.51</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.vmware</groupId>
        <artifactId>vijava</artifactId>
        <version>5.1</version>
    </dependency>
    <dependency>
        <groupId>xml-apis</groupId>
        <artifactId>xml-apis</artifactId>
        <version>1.4.01</version>
    </dependency>
    <dependency>
        <groupId>it.cnr.isti.domoware</groupId>
        <artifactId>org.postgresql.jdbc4</artifactId>
        <version>8.3-603</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.53.0</version>
    </dependency>
    <dependency>
        <groupId>jstaf</groupId>
        <artifactId>jstaf</artifactId>
        <version>4.0.0</version>
    </dependency>
    <dependency>
        <groupId>Toro</groupId>
        <artifactId>Toro</artifactId>
        <version>3.5.5</version>
    </dependency>
    <dependency>
        <groupId>ssh2</groupId>
        <artifactId>ssh2</artifactId>
        <version>1.0</version>
    </dependency>
    <dependency>
        <groupId>json</groupId>
        <artifactId>json</artifactId>
        <version>1.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-client</artifactId>
        <version>2.8</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>cobertura</groupId>
        <artifactId>cobertura</artifactId>
        <version>2.0.4</version>
        <exclusions>
            <exclusion>
                <groupId>com.sun</groupId>
                <artifactId>tools</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-multipart</artifactId>
        <version>2.8</version>
    </dependency>
    <dependency>
        <groupId>org.apache.directory.studio</groupId>
        <artifactId>org.apache.commons.io</artifactId>
        <version>2.4</version>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.2</version>
    </dependency>
    <dependency>
        <groupId>org.fitnesse</groupId>
        <artifactId>fitnesse</artifactId>
        <version>20140630</version>
    </dependency>
    <dependency>
        <groupId>AutoIt</groupId>
        <artifactId>AutoItX4Java</artifactId>
        <version>3.3.12</version>
    </dependency>
    <dependency>
        <groupId>AutoIt</groupId>
        <artifactId>jacob</artifactId>
        <version>1.18</version>
    </dependency>
    <dependency>
        <groupId>commons-net</groupId>
        <artifactId>commons-net</artifactId>
        <version>20030805.205232</version>
    </dependency>
    <dependency>
        <groupId>mssql</groupId>
        <artifactId>jdbc4</artifactId>
        <version>4.1</version>
    </dependency>
    <dependency>
        <groupId>mssql</groupId>
        <artifactId>jdbc</artifactId>
        <version>4.1</version>
    </dependency>
    <dependency>
        <groupId>mssql</groupId>
        <artifactId>jdbc41</artifactId>
        <version>4.1</version>
    </dependency>
    <dependency>
        <groupId>vertica</groupId>
        <artifactId>jdbc</artifactId>
        <version>7.0.1</version>
    </dependency>
    <dependency>
        <groupId>com.thoughtworks.xstream</groupId>
        <artifactId>xstream</artifactId>
        <version>1.3.1</version>
    </dependency>
    <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>1.8.3</version>
    </dependency>
    <dependency>
        <groupId>SyslogGen</groupId>
        <artifactId>SyslogGenv3</artifactId>
        <version>0.1</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
</dependencies>
<distributionManagement>
    <snapshotRepository>
        <id>snapshots</id>
        <name>XXX-Artifactory-snapshots</name>
        <url>https://artifactory.ges.xxx.com/artifactory/yyy-ttt-ext-snapshot-local</url>
    </snapshotRepository>
</distributionManagement>

当我使用eclipse mvn clean install或mvn clean verify或mvn clean test执行时,它会执行测试用例,但不会生成结果。

0 个答案:

没有答案