• 0
  • 0
分享

1、背景

Maven 构建生命周期为我们提供了对项目执行各种操作,例如验证,清理、打包、测试和部署项目。

而有时候我们需要跳过单元测试,例如,在处理新模块时,还有未通过的单元测试时。在这些情况下,我们可以跳过测试以避免编译和运行测试时发生的时间。在本文中,我们将了解可用于跳过 maven 项目中的测试的各种方法。

2、几种跳过的方法

  • 可以在插件标签的配置中设置跳过测试元素属性;

  • 通过在 Maven 执行命令中使用 -DskipTests 参数的命令行;

  • 通过在触发 maven 命令以执行阶段时使用 maven.test.skip 属性;

  • 在使用surefire时,通过在pom.xml的插件标签中使用exclude元素和要排除的类的名称来排除一些测试类。

2.1.跳过pom中的测试元素

如果您希望跳过某个项目的测试,您可以通过以下方式在项目的 pom.xml 文件的插件标记中将 skipTests 属性指定为 true:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>3.0.0-M4</version>
    <configuration>
        <skipTests>true</skipTests>
    </configuration>
</plugin>

2.2. DskipTests 参数

执行编译测试类,但是跳过执行测试过程。

命令:

mvn clean package -DskipTests

2.3. maven.test.skip 属性

完全跳过测试编译,可以在 maven 命令中使用 maven-test-skip 属性。

大多数测试插件都支持这个属性,包括failsafe和surefire,甚至maven的编译器插件。从命令行执行 maven 命令时,可以通过以下方式使用上述属性:

命令:

mvn package -Dmaven.test.skip=true

3.最终的:默认跳过,然后在必要时覆盖它

方法

  • 在 pom.xml 文件中定义一个属性变量并 初始化为 true , 并在跳过测试元素的节点上指定这个变量。

  • 当需要执行测试时,在命令行中为 maven 执行的命令中指定属性值来覆盖此属性的值。这可以通过以下方式完成 -

比如: 在 properties 节点声明一个defaultValueOfSkip 变量。在 <skipTests> 节点 使用 ${defaultValueOfSkip}

代码:

<project>
  <properties>
    <defaultValueOfSkip>true</defaultValueOfSkip>
  </properties>
  
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.0.0-M4</version>
        <configuration>
          <skipTests>${defaultValueOfSkip}</skipTests>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

那么,当有必要测试项目,可以这样做,只需在我的命令中通过以下方式将属性 defaultValueOfSkip 的值设置为 false:

命令:

mvn package -DdefaultValueOfSkip=false

END


作者:张云飞VIR

原文链接:https://blog.csdn.net/vir56k/article/details/120450894

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   性能测试框架搭建+接口测试+渗透测试+测试开发+测试面试指南,点击下方链接填写测试行业调查问卷,任选两个带回家。链接:http://vote.51testing.com/  Jenkins作为目前持续集成中使用较为广泛的工具,在实际生产过程中通过结合众多的插件,从而实现工程的持续构建、持续部署。  而传统构建的应用场景大多数运行在虚拟机或者独立的服务器上,在资源开销和管理维护较为复杂。相比于独立的服务器/虚拟机而言,容器不仅部署方便,且占用资源较少。  Docker作为目前作为业内最火的一个容器解决方案之一,通过将两者结合,从而实现服务的轻量化,并通过Docker管理Jenkins的资源。...
            1 1 1842
            分享
          •   运行测试  1.运行测试(命令行)  执行命令 jmeter.bat -n -t DistributingPOST.jmx  -Jserver.rmi.ssl.keystore.file=rmi_keystore.jks -R192.168.1.14,192.168.1.15 (多个IP用逗号隔开)  2.查看结果  以上命令运行了测试计划DistributingPOST.jmx  在两个节点服务器上,每个服务器模拟了6个用户(共计6*2=12个用户)。下图更清晰地显示了运行时的命令响应。  3.运行测试并生成报告  执行命令:jmeter.bat -n -t Dist...
            3 4 1857
            分享
          •      在这次面谈中,杰夫·佩恩,卡福罗的首席执行官和创办者,谈及了关于软件安全。他讨论物联网和它如何关联到关键性安全的设备,一些有用的工具,测试者如何测试安全,以及设备如何更方便地推动在你生活圈内的流程。  詹妮弗·博宁:我们更多在虚拟采访中背对着。希望你总是能在将近2小时我们即将讨论到的经常的话题留着。杰夫将开场。杰夫,感谢来到这儿。  杰夫·佩恩:感谢邀请我。  詹妮弗·博宁:对那些你不知道的事情杰夫,我过去已经和他谈过几次了。其中的一些事我觉得有趣去对虚拟观众谈论的是你也加入进来的事情。很明显的安全方面的大专家,所以我经常喜欢和您谈论关于安全。  杰夫·佩恩:当然...
            0 0 1992
            分享
          • 1、引言小屌丝:鱼哥,我想请教一个问题。小鱼:国庆假期你经历了什么,让你变得如此的 "善良"?小屌丝:别这么说,我一直很善良,至少,很正直....小鱼:打住,直接点, 你有什么需要帮助的?小屌丝:我就是想把查询的结果也入到excel表中小鱼:然后呢?小屌丝:sqlserver数据库。小鱼:......好吧,还有其他要求吗?小屌丝:没有了。小鱼:OK,我就花费几分钟,给你整一个。 2、代码实战 2.1 openpyxl写入excel 2.1.1 安装凡是涉及第三方库,必须需要安装,老规矩,直接pip安装pip install ...
            0 0 893
            分享
      • 51testing软件测试圈微信