`

maven test

 
阅读更多

原文:http://jvortex.blog.163.com/blog/static/169618900201187016382/

maven常用插件和mvn test命令  

自定义构建Maven项目,需要包括额外的插件或者配置已存在的插件参数。

1. maven-compiler-plugin 指定JDK版本和编码方式

compiler插件能解决2个问题:

第一: maven 2.1默认使用jdk 1.3来编译,这个版本不支持注解,compiler插件可以指定JDK版本为1.6,解决这个问题。

第二:windows平台默认使用GBK编码,如果工程编码为utf8,也需要在compiler插件中指出,否则按GBK编码,也会出问题

      <plugins>

           <plugin> 

              <groupId>org.apache.maven.plugins</groupId> 

              <artifactId>maven-compiler-plugin</artifactId> 

              <configuration> 

                  <source>1.6</source> 

                  <target>1.6</target> 

                  <encoding>UTF8</encoding>

              </configuration> 

           </plugin>

      </plugins>

2. maven-war-plugin 打war包在web子项目中指定

<plugin>

           <groupId>org.apache.maven.plugins</groupId>

           <artifactId>maven-war-plugin</artifactId>

           <version>2.1-beta-1</version>

           <configuration>

              <attachClasses>true</attachClasses>

           </configuration>

    </plugin>

<attachClasses>true</attachClasses> 可以把JAR文件和标准的WAR文件同时安装到Maven仓库中

3. 单元测试插件 maven-surefire-plugin

<plugin>

           <groupId>org.apache.maven.plugins</groupId>

           <artifactId>maven-surefire-plugin</artifactId>

           <configuration>

              <argLine>-Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m</argLine>

              <excludes>

                  <exclude>**/TestConstants.java</exclude>

              </excludes>

              <forkMode>always</forkMode>

           </configuration>

</plugin>

<argLine>-Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m</argLine>调整JVM(-Xmx1024m)和PermSize(-XX:PermSize=256m -XX:MaxPermSize=256m)内存

<excludes>

       <exclude>**/TestConstants.java</exclude>

</excludes>

运行测试脚本时不执行TestConstants.java文件

<forkMode>always</forkMode>

Maven运行测试用例时,是通过调用maven的surefire插件并fork一个子进程来执行用例的。forkmode属性中指明是要为每个测试创建一个进程,还是所有测试在同一个进程中完成。

forkMode 可设置值有 “never”, “once”, “always” 和 “pertest”。

pretest: 每一个测试创建一个新进程,为每个测试创建新的JVM是单独测试的最彻底方式,但也是最慢的,不适合hudson上持续回归

once:在一个进程中进行所有测试。once为默认设置,在Hudson上持续回归时建议使用默认设置。

always:在一个进程中并行的运行脚本,Junit4.7以上版本才可以使用,surefire的版本要在2.6以上提供这个功能,其中 threadCount执行时,指定可分配的线程数量。只和参数parallel配合使用有效。默认:5。

<forkMode>always</forkMode>

<parallel>methods</parallel>

<threadCount>4</threadCount>

 4 .Resource插件

<filters>    

       <filter>${user.home}/asssd.properties</filter>

</filters>

<resources>

       <resource>

           <directory>src/main/resources</directory>

           <filtering>true</filtering>

           <includes>

              <include>**/*</include>

           </includes>

       </resource>

       <resource>

           <directory>src/main/java</directory>

           <includes>

              <include>**.xml</include>

           </includes>

       </resource>

</resources>

运行打包命令时,将src/main/resources中的所有文件和src/main/java目录下的所有.xml文件打到jar包中。

其中filters过滤器的作用是将所有引用文件中的${变量名称},替换成antx.properties文件中的变量值。要使用过滤器时,首先需要设置过滤器:

<filters>    

       <filter>${user.home}/antx.properties</filter>

</filters>

然后再启动过滤器, true需要过滤,false不需要过滤:

<filtering>true</filtering>

5、Maven常用命令

1、运行应用程序中的单元测试:mvn test或mvn test -Dtest=***Test, 其中“***Test”为被测试用例的类名(不需要输入.java)

         打开控制台,进入测试工程所在目录:D:\workspace-sell\sell-qatest路径;输入mvn test命令后,开始执行sell-qatest中的所有测试脚本,并将信息输出到控制台。

         如果要单独运行一个测试类里的用例,如 publishAuctionTest.java,则可以运行 mvn test -Dtest=publishAuctionTest

2、清除目标目录中的生成结果:mvn clean(清除taget文件夹中内容)

3、在本地repo中安装jar:mvn install。运行命令后工程根目录下生成target文件夹,文件夹内存放jar包,class文件夹等内容。本地仓库repo中生成工程jar包目录。

4、将工程打包:mvn package。运行命令后工程根目录下生成target文件夹,文件夹内存放jar包,class文件夹等内容。

5、生成Eclipse项目文件:mvn eclipse:eclipse。运行命令后生成eclipse工程,项目的根目录下产生.project、.classpath文件和target文件夹。将该工程导入到eclipse中:打开eclipse,通过file->import,导入到eclipse中。

6、清除Eclipse工程:mvn eclipse:clean。.classpath和.project文件会被删除。

7、在运行install 或package时,测试代码不被执行:

第一种方法:在cmd运行mvn install 或mvn package 命令后加上-Dmaven.test.skip=true 。

例如:mvn install -Dmaven.test.skip=true

第二种方法:在pom.xml文件的maven-surefire-plugin插件中添加参数:<skip>true</skip>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-surefire-plugin</artifactId>

<inherited>true</inherited>

<configuration>

<skip>true</skip>

</configuration>

</plugin>

 

分享到:
评论

相关推荐

    IDEA 2020.1版本 maven Test命令出现导包错误.docx

    在使用IntelliJ IDEA 2020.1版本时,开发者可能会遇到Maven Test命令导致的导包错误。这通常是由多种原因引起的,其中包括IDE配置问题、项目缓存问题或Maven离线模式的误开启。以下是针对该问题的详细解决方案及相关...

    MavenTest.rar

    【标题】"MavenTest.rar" 是一个包含与构建、测试和管理Java项目相关的资源的压缩文件。Maven是Apache软件基金会开发的一款项目管理和综合工具,它帮助开发者组织和构建项目,通过自动化处理项目的构建、报告和文档...

    MavenTest.zip项目文件

    【标题】"MavenTest.zip项目文件"是一个包含使用IntelliJ IDEA(IDEA)和Maven构建的JavaFX应用程序的示例项目。这个项目旨在帮助开发者了解如何在不使用Java模块系统的情况下,通过这两款工具来开发和管理JavaFX...

    MavenTest-源码.rar

    【标题】"MavenTest-源码.rar"指的是一个包含Maven项目源代码的压缩文件。这个文件很可能是为了分享或备份一个使用Maven构建的Java应用的源代码。Maven是一个广泛使用的Java项目管理工具,它可以帮助开发者管理和...

    java jdbc maven test

    Java JDBC Maven Test是一个关于在Java开发环境中,使用Maven构建工具进行数据库操作(JDBC)以及集成HTTP和RPC测试的示例项目。在这个项目中,我们将深入探讨如何配置Maven项目,使用Java JDBC API与数据库交互,...

    maventest2.rar_XBKC_maven_nutsjfm

    【标题】"maventest2.rar_XBKC_maven_nutsjfm"是一个与Maven相关的项目压缩包,XBKC、maven和nutsjfm可能是项目代码库、团队标识或者特定技术的缩写。这个压缩包包含了创建和运行一个基于Maven的Java Web应用程序所...

    MavenTest9

    **MavenTest9** 是一个基于 Maven 构建的项目,专注于展示 Apache Shiro 的功能和用法。Apache Shiro 是一个强大且易用的 Java 安全框架,提供了认证、授权、加密以及会话管理等功能,使得开发者可以轻松地处理应用...

    mavenTest:maven项目,测试操作nexus

    标题“mavenTest:maven项目,测试操作nexus”以及描述中的“maven项目,测试操作nexus 11”暗示了我们正在探讨一个基于Maven构建的Java项目,其中涉及到Nexus这一重要的Maven仓库管理工具。在Java开发中,Maven是一...

    解决IDEA 2020.1版本 maven Test命令出现导包错误的问题

    解决IDEA 2020.1版本maven Test命令出现导包错误的问题 IDEA 2020.1版本maven Test命令出现导包错误的问题是指在使用IDEA 2020.1版本时,执行maven Test命令出现无法找到包的错误。这种错误可能是由于IDEA 2020.1...

    maventest02.zip

    本次项目属于最基础框架代码了,本项目是基于servlet开发,然后引入springmvc进行修改的。适合编程爱好者。需要的请自行下载,我提示的代码已经够完整了,如果还是有问题,请下载项目源代码自行研究。

    MavenTest

    【MavenTest】是关于Java开发中的一个项目实例,它主要展示了如何利用Maven这一强大的构建工具进行项目管理和测试。Maven是Apache软件基金会开发的一个项目管理工具,它主要用于简化Java项目的构建、依赖管理和文档...

    MavenTest:Maven + GitHub + Travis

    【MavenTest:Maven + GitHub + Travis】 在Java开发领域,Maven、GitHub和Travis CI是三个重要的工具,它们分别扮演着构建管理、版本控制和持续集成的角色。本项目结合这三个工具,实现了一个自动化测试的流程,为...

    maventest

    标题 "maventest" 暗示我们讨论的主题与 Maven 测试有关,Maven 是一个广泛使用的 Java 项目管理工具,它可以帮助开发者构建、管理和部署项目。在 Java 开发中,Maven 提供了一种标准的方式来组织项目结构,依赖管理...

    xalanjava源码-maventest4:v3.6DataverseNetwork代码转换成Maven项目

    maventest4/DVN-root mvn 包 Mavenize DVN 的步骤 创建 8/12/2013 Kevin Condon,改编自 Akio 的 v3.3 Maven 项目 2013 年 9 月 26 日更新 Kevin Condon,更新依赖项,添加资源步骤,更改 pom 文件指令以使用该项目...

    mavenTest

    【标题】"mavenTest" 是一个与 Maven 相关的项目,可能是一个用来演示或学习 Maven 使用的示例工程。Maven 是一个在 Java 开发中广泛使用的项目管理和综合工具,它帮助开发者构建、管理和部署 Java 应用程序。通过 ...

    MavenTest:Maven项目进行测试

    **Maven测试:Maven项目中的测试实践** 在Java开发领域,Maven是广泛使用的构建自动化工具,它简化了项目的构建、依赖...在"MavenTest-master"这个项目中,你可以找到具体的实践示例,进一步学习和应用这些测试知识。

    第一个maven工程案例

    ** Maven工程案例详解 ** Maven,作为Java项目管理和构建工具,通过定义项目的结构和依赖关系,使得构建、测试和部署过程标准化。...结合提供的`MavenTest`源码,你可以动手实践,进一步加深对Maven的理解。

    Maven-教案-1.0.docx

    mvn archetype:create -DgroupId=cn.itcast.maventest -DartifactId=maven-first -Dversion=1.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart ``` 通过以上步骤,我们可以深入了解Maven的基本原理...

Global site tag (gtag.js) - Google Analytics