Maven高级-多环境配置与应用及跳过测试方式

简介: Maven高级-多环境配置与应用及跳过测试方式

一、多环境开发配置

我们平常都是自己的开发环境进行开发,当开发完成后,需要把开发的功能部署到测试环境供测试人员进行测试使用,等测试人员测试通过后,我们会将项目部署到生产环境上线使用。


这个时候就有一个问题,不同环境的配置不相同,不可能让三个环境都用一个数据库所以三个数据库的url配置。

6976fbe2c34b443eb6d9e198d88f460d.png

maven提供配置多种环境设定,帮助开发者使用过程中快速切换环境


1、定义多环境

<!--配置多环境-->
    <profiles>
        <!--定义具体的环境:开发环境-->
        <profile>
            <!--定义环境对应的唯一名称-->
            <id>env_dep</id>
            <!--定义环境中专用的属性值-->
            <properties>
                <jdbc.url>jdbc:mysql://127.0.0.1:3306/ssm_db</jdbc.url>
            </properties>
            <!--设定是否为默认启动环境-->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <!--定义具体的环境:生产环境-->
        <profile>
            <id>env_pro</id>
            <properties>
                <jdbc.url>jdbc:mysql://127.2.2.2:3306/ssm_db</jdbc.url>
            </properties>
        </profile>
        <!--定义具体的环境:测试环境-->
        <profile>
            <id>env_test</id>
            <properties>
                <jdbc.url>jdbc:mysql://127.3.3.3:3306/ssm_db</jdbc.url>
            </properties>
        </profile>
    </profiles>

2、使用多环境(构建过程)

mvn  指令  -p  环境定义id

范例:

mvn  install  -p  pro_env

二、跳过测试

在执行install指令的时候,maven都会按照顺序从上往下依次执行,每次都会执行test,可以确保每次打包或者安装的时候,程序的正确性,假如测试已经通过在我们没有修改程序的前提下再次执行打包或安装命令,由于顺序执行,测试会被再次执行,有点耗费时间。


应用场景:

功能更新中并没有开发完毕

快速打包

。。。


跳过测试

方式一:IDEA工具实现跳过测试

03a6322fd8e14279b68a17a1fabca3fc.png

此方法会把所有的测试都跳过,如果我们想要更精细的控制,需要使用配置插件的方式。

方式二:细粒度控制跳过测试

在父工程中的pom.xml中添加测试插件配置

<build>
     <plugins>
          <plugin>
               <artifactId>maven-surefire-plugin</artifactId>
               <version>2.12.4</version>
               <configuration>
                    <skipTests>true</skipTests><!--设置跳过测试-->
                    <include>
                        <include>**/User*Test.java</include>
                    </include>
                    <!--排除掉不参与测试的内容-->
                    <excludes>
                        <exclude>**/BookServiceTest.java</exclude>
                    </excludes>
               </configuration>
          </plugin>
      </plugins>
</build>

skipTests:如果为true,则跳过所有测试,如果为false,则不跳过测试

excludes:哪些测试类不参与测试,即排除,针对skipTests为false来设置的

includes:哪些测试类要参与测试,即包含,针对skipTests为false来设置的

方式三:命令行跳过测试

mvn  指令  -D  skipTests

范例

mvn  install  -D  skipTests


注意事项

执行的项目构建指令必须包含测试生命周期,否则无效果。例如执行compile生命周期,不经过test生命周期

该命令不借助IDEA,直接使用cmd命令进行跳过测试,需要注意的是cmd要在pom.xml所在的目录下进行执行

目录
相关文章
|
1天前
|
安全 IDE Java
Java串口通信技术探究2:RXTX库单例测试及应用
Java串口通信技术探究2:RXTX库单例测试及应用
15 4
|
1天前
|
数据采集 机器学习/深度学习 人工智能
探索AI在软件测试中的应用与挑战
【5月更文挑战第2天】本文将探讨人工智能(AI)在软件测试领域的应用及其带来的挑战。我们将详细讨论AI如何改变软件测试的方式,包括自动化测试、预测性测试、智能化缺陷检测等。同时,我们也将探讨AI在软件测试中面临的挑战,如数据质量问题、模型的可解释性、以及对现有测试流程的影响等。
|
2天前
|
Java 测试技术 开发者
深入理解与应用单元测试:软件质量的守护者
【4月更文挑战第30天】 在现代软件开发过程中,单元测试作为保障代码健康的重要环节,其地位日益凸显。本文将探讨单元测试的核心概念、实施单元测试的重要性以及如何高效地设计并执行单元测试。通过实例分析,我们将揭示单元测试在确保软件产品质量和加速开发周期中的关键作用。
|
2天前
|
敏捷开发 测试技术 持续交付
探索自动化测试在敏捷开发中的应用移动应用的未来:跨平台开发与操作系统的融合
【4月更文挑战第30天】随着软件开发周期的不断缩短,传统的软件测试方法逐渐显得力不从心。本文将深入探讨自动化测试在敏捷开发环境中的关键作用,分析其如何提高测试效率、减少人力资源成本,并确保软件产品的质量与稳定性。通过案例分析,我们还将讨论实施自动化测试的最佳实践和面临的挑战,为追求高效敏捷开发的组织提供参考。
|
3天前
|
数据采集 机器学习/深度学习 人工智能
自动化测试中AI辅助技术的应用与挑战
【4月更文挑战第30天】随着人工智能(AI)技术的飞速发展,其在软件自动化测试领域的应用日益增多。本文探讨了AI辅助技术在自动化测试中的应用情况,包括智能化测试用例生成、测试执行监控、缺陷预测及测试结果分析等方面。同时,文章还分析了在融合AI技术时所面临的挑战,如数据质量要求、模型的透明度与解释性问题以及技术整合成本等,并提出了相应的解决策略。
|
3天前
|
机器学习/深度学习 算法 UED
【Python 机器学习专栏】A/B 测试在机器学习项目中的应用
【4月更文挑战第30天】A/B测试在数据驱动的机器学习项目中扮演关键角色,用于评估模型性能、算法改进和特征选择。通过定义目标、划分群组、实施处理、收集数据和分析结果,A/B测试能帮助优化模型和用户体验。Python提供工具如pandas和scipy.stats支持实验实施与分析。注意样本量、随机性、时间因素和多变量分析,确保测试有效性。A/B测试助力于持续改进机器学习项目,实现更好的成果。
|
3天前
|
前端开发 IDE 数据可视化
深入理解与应用自动化测试框架Selenium的最佳实践
【4月更文挑战第30天】 本文将深入剖析自动化测试框架Selenium的核心原理,并结合最佳实践案例,探讨如何有效提升测试覆盖率和效率。文中不仅涉及Selenium的架构解析,还将提供针对性的策略来优化测试脚本,确保测试流程的稳定性与可靠性。通过实例演示,读者可以掌握如何在不同测试场景中灵活运用Selenium,以及如何处理常见的技术挑战。
|
3天前
|
缓存 监控 前端开发
【Flutter前端技术开发专栏】Flutter应用的性能调优与测试
【4月更文挑战第30天】本文探讨了Flutter应用的性能调优策略和测试方法。性能调优对提升用户体验、降低能耗和增强稳定性至关重要。优化布局(避免复杂嵌套,使用`const`构造函数)、管理内存、优化动画、实现懒加载和按需加载,以及利用Flutter的性能工具(如DevTools)都是有效的调优手段。性能测试包括基准测试、性能分析、压力测试和电池效率测试。文中还以ListView为例,展示了如何实践这些优化技巧。持续的性能调优是提升Flutter应用质量的关键。
【Flutter前端技术开发专栏】Flutter应用的性能调优与测试
|
3天前
|
敏捷开发 监控 前端开发
深入理解与应用自动化测试框架:以Selenium为例
【4月更文挑战第30天】 在软件开发的快速迭代周期中,质量保证(QA)团队面临持续的压力,需确保产品在每次发布时都达到预期的质量标准。为了应对这一挑战,自动化测试成为了关键工具,它不仅提高了测试效率,还确保了测试的一致性和可重复性。本文将探讨自动化测试框架Selenium的核心组件、工作原理及其在实际测试中的应用。通过分析Selenium的优势和面临的常见问题,我们将讨论如何有效地集成Selenium到现有的测试流程中,以及如何克服常见的技术障碍。我们的目标是为读者提供一个清晰的指南,帮助他们理解和利用自动化测试框架来优化他们的软件测试实践。
|
4天前
|
Java Linux Maven
Maven 环境配置
**Maven配置摘要:** 确保安装JDK 1.7+ for Maven 3.3+. Maven自身占用约10 MB, 仓库需额外空间。检查Java版本: Windows: `java -version` in CMD Linux: `java -version` in Terminal Mac: `java -version` in Terminal.

热门文章

最新文章