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下使用junit对spring进行单元测试_01基本应用

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

在maven项目中使用Junit进行单元测试(一)

在maven项目中使用Junit进行单元测试(一)在maven项目中使用Junit进行单元测试一 创建maven项目 编写测试用代码 小结 这是第一篇博文,所以我决定先从比较简单的内容写起,同时熟悉...
  • ouming123456
  • ouming123456
  • 2016年05月17日 21:00
  • 5318

maven下使用 junit对 spring进行单元测试

发现通过Spring进行对象管理之后,做测试变得复杂了。因为所有的Bean都需要在 applicationContext.xml中加载好,之后再通过@Resource去取得。如果每次都要整个业务流做的...
  • u012881904
  • u012881904
  • 2016年05月05日 17:39
  • 6254

maven项目,单元测试jacoco、junit

  • 2017年12月13日 17:11
  • 36.06MB
  • 下载

使用maven执行单元测试总结

maven本身没有单元测试框架,但是maven的default生命周期的test阶段绑定了maven-surefire-plugin插件,该插件可以调用Junit3、Junit4、TestNG等Jav...
  • Rainnnbow
  • Rainnnbow
  • 2015年12月29日 10:04
  • 8537

Maven管理的Spring Web项目集成JUnit单元测试

JUnit是一套优秀的单元测试框架,而Maven是优秀的Java项目构建和管理工具,两者结合可以很方便地对项目进行自动化测试。         一般的简单Java应用就不多说了,一些框架会提供针...
  • yiluoAK_47
  • yiluoAK_47
  • 2014年10月24日 13:15
  • 1005

Maven项目管理实战(六)--完成单元测试

JUnit是单元测试事实上的标准,所以我们这里仅介绍如何在Maven中使用JUnit进行单元测试。...
  • cockroach
  • cockroach
  • 2014年04月04日 22:27
  • 1445

Maven开发过程实践之单元测试报告 test

原文:http://www.cnblogs.com/jinspire/archive/2011/10/31/2229764.htmlIT男罗书全凝视着单元测试通过的一条条绿线,长长的舒了一口气,单元测...
  • caiwenfeng_for_23
  • caiwenfeng_for_23
  • 2015年03月21日 12:17
  • 880

Maven工程使用Junit进行单元测试

maven单元测试
  • loongshawn
  • loongshawn
  • 2017年08月04日 11:14
  • 280

intellij idea maven 工程junit4单元测试

对maven工程进行junit4单元测试 首先在pom.xml添加依赖jar包 junit junit 4.12/version> test 1在src下新建tes...
  • qqyouhappy
  • qqyouhappy
  • 2016年07月10日 19:55
  • 10868
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Maven单元测试(四)
举报原因:
原因补充:

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