Maven单元测试(四)

原创 2012年03月29日 18:20:11

单元测试
test 目标执行项目中所有能在 src/test/java 找到的并且文件名与 **/Test*.java, **/*Test.java 和 **/*TestCase.java 匹配的所有单元测试。

忽略单元测试
通常,你会开发一个带有很多失败单元测试的系统。 如果你正在实践测试驱动开发(TDD),你可能会使用测试失败来衡量你离项目完成有多远。 如果你有失败的单元测试,但你仍然希望产生构建输出,你就必须告诉 Maven 让它忽略测试失败。 当Maven 遇到一个测试失败,它默认的行为是停止当前的构建。 如果你希望继续构建项目,即使 Surefire 插件遇到了失败的单元测试,你就需要设置 Surefire 的testFailureIgnore 这个配置属性为 true。
这个表达式可以从命令行通过 -D 参数设置。mvn test -Dmaven.test.failure.ignore=true

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <testFailureIgnore>true</testFailureIgnore>
            </configuration>
        </plugin>
    </plugins>
</build>

 

跳过单元测试
你可能想要配置 Maven 使其完全跳过单元测试。 可能你有一个很大的系统,单元测试需要花好多分钟来完成,而你不想在生成最终输出前等单元测试完成。 你可能正工作在一个遗留系统上面,这个系统有一系列的失败的单元测试,你可能仅仅想要生成一个 JAR 而不是去修复所有的单元测试。 Maven 提供了跳过单元测试的能力,只需要使用 Surefire 插件的 skip 参数。 在命令行,只要简单的给任何目标添加maven.test.skip 属性就能跳过测试:mvn install -Dmaven.test.skip=true

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>
    </plugins>
</build>


 

如果想跳过测试阶段,可用:
mvn package -DskipTests (只跳过测试阶段,但不跳过测试编译)

想临时性跳过测试代码的编译,可用:
mvn package -Dmaven.test.skip=true
maven.test.skip同时控制maven-compiler-plugin和maven-surefire-plugin两个插件的行为,即跳过编译,又跳过测试。

指定测试类
mvn test -Dtest=RandomGeneratorTest

以Random开头,Test结尾的测试类
mvn test -Dtest=Random*Test

用逗号分隔指定多个测试用例
mvn test -Dtest=ATest,BTest

test参数必须匹配至少一个测试类,否则会报错并导致构建失败。此时可使用以下配置来指定即使没有任何测试用例也不要报错。
mvn test -Dtest -DfailIfNoTests = false


POM文件配置包含与排除测试用例,使用** / * Test.java 来匹配所有以Tests结尾的Java类。两个星号**用来匹配任意路径,一个星号*用来获取除路径风格符外的0个或多个字符。还可使用excludes来排除一些测试类。

<plugin>
    <groupId>org.apahce.maven.plugins<groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.5</version>
    <configuration>
        <includes>
            <include>**/*Tests.java</include>
        </includes>
    </configuration>       
</plugin>

 

 

相关文章推荐

Maven项目单元测试配置问题

Java语言的Maven项目的单元测试有很多测试框架,常用的有Junit和TestNG。使用不同的测试框架,pom文件需要有不同的配置,配置错误有可能导致执行“mvn test”命令的时候不执行单元测...

maven下使用junit对spring进行单元测试_01基本应用

一、开发环境二、文件清单pom.xmlApplicationContext.xmlEmployee.java三、主要步骤1.使用springframework提供的单元测试2.基本使用3.封装基于Ab...
  • wanglha
  • wanglha
  • 2015年02月12日 15:32
  • 1369

Maven单元测试

原文:http://blog.csdn.net/sin90lzc/article/details/7543262 1.maven-surefire-plugin简介 Maven本身...

idea + Maven + Spring + myBatis的单元测试

背景利用Idea和Maven搭建了一个SSM的web项目,对子模块进行测试是非常重要的,此时我的工程结构如下: Maven中,src下有main和test两个目录,main是用来存放我们的工程文...
  • jeffleo
  • jeffleo
  • 2017年02月19日 13:09
  • 1950

Arquillian+JavaEE+wildfly +eclipse +Maven搭建单元测试基础环境

Arquillian+JavaEE+wildfly +eclipse +Maven搭建单元测试基础环境 概述: 网上使用 Arquillian 测试框架的基础教程有不少,但针对于 wildfly(前身...

Maven的单元测试

有时候可能不仅仅需要跳过测试运行,还要跳过测试代码的编译: [plain] view plaincopyprint? mvn package -Dmaven.test.skip=true ...

Maven中的单元测试

1:首先查看项目的依赖首先命令行切换到pom.xml文件所在的目录下,然后运行下面的命令mvn dependency:resolve如下图所示效果 如果我们想知道你项目的整个依赖树,可以运行 d...

maven单元测试

使用maven  在默认情况下,maven-surefire-plugin的test目标会自动执行测试源码路径(默认为src/test/java/)下所有符合一组命名模式的测试类。这组模式为: ...

maven中配置生成单元测试报告配置

原文:http://blog.csdn.net/woshiyjk/article/details/7895803 maven中配置生成单元测试报告配置 分类: ssh 2012-08-...

maven中配置生成单元测试报告配置

对junit单元测试的报告: [java] view plaincopy 1.  -------------------------------------------------------...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Maven单元测试(四)
举报原因:
原因补充:

(最多只允许输入30个字)