• 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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   bug是测试工作的主要产物,同时也是开发和测试产生矛盾的原因之一。有的同学会觉得测试过程中发现的一些问题直接当面找开发解决了就好了,减少沟通成本,提高修复效率,反正提不提都不影响项目进度;而有的测试则是无论大小,甚至还未和开发沟通确认这个是否有效缺陷,就提上jira了。其实有效的bug对个人、团队、项目都是有非常重要的作用的。  1、bug有助于衡量项目质量。测试组长需要通过缺陷统计和分析,识别项目当前风险,及时调整测试策略。在项目进行中,其他团队成员要了解当前项目质量情况,也需要依赖bug面板。项目进行总结时,可以从bug列表中分析出项目在需求、开发、测试阶段存在的问题,总结项目经验,避...
            0 0 2549
            分享
          • 1、 强制等待时间 sleep()必须import time包,强制等待生效时间=页面跳转时间+sleep()设置休眠时间强制等待时间使用语法:sleep(s) s表示时间,以秒为单位 例:sleep(2) 休眠3s2、显示等待时间 WebDriverWait()必须导入WebDriverWait包才可以使用,显示等待时间是针对单个元素生效的,当在规定时间内找到了对应元素,则执行下一步操作。显示等待时间使用语法:WebDriverWait(x,y,z).until(lambda x:x.find_element_by_元素定位方法("对应元素方法的值"))x表示网页窗口对象...
            0 0 813
            分享
          • 读者提问:简易好用的在线 PS 工具有推荐的吗 ?阿常回答:有,稿定设计 / Canva可画 / 图司机。官网地址:https://www.gaoding.com/(稿定设计)https://www.canva.cn/(Canva可画)https://www.tusij.com/(图司机)阿常碎碎念:我们在平时工作生活中会遇到处理图片的需求,但不想额外在电脑上安装一个 PS 软件,期望可以直接浏览器访问、在线操作。以上三款在线 PS 工具均能满足日常图片处理的需求,但比较下来,阿常觉得稿定设计的用户体验更佳,更加推荐大家使用。看完今天的分享对你是不是有所启发呢,有任何想法都欢迎大家后...
            0 0 658
            分享
          •   简介  Newman 是 Postman 推出的一个 nodejs 库,直接来说就是 Postman 的json文件可以在命令行执行的插件。  Newman 可以方便地运行和测试集合,并用之构造接口自动化测试和持续集成。  安装  安装需要通过 npm 命令来完成,可以直接安装 nodejs,配置环境变量来完成。  在控制台中运行命令:npm install -g newman   验证newman安装成功,使用命令: newman --version  使用  newman 官网帮助文档:https://www.npmjs.com/package/newman   运...
            3 4 1846
            分享
          • Q #1) MySQL 事务是原子的吗?答:是的,事务是通过概念在 MySQL 中实现原子性的。atomic 的简单含义是——ALL 或 NONE 和 MySQL 事务完全支持这一点。在这里,如果没有错误,那么所有的语句都会被执行。但是,如果出现任何差异或错误,则不会执行事务中的任何语句。Q #2) 如何回滚 MySQL 事务?答:事务可以提交或回滚/恢复。要恢复事务的更改,您只需在执行 COMMIT 之前运行 ROLLBACK 命令。例如,参考下面的事务,我们使用 ROLLBACK 来恢复事务期间所做的更改。START TRANSACTION; --statement1 ...
            0 0 1798
            分享
      • 51testing软件测试圈微信