Maven

目录

Maven安装步骤

Maven坐标

测试

阶段划分

测试方法

单元测试

断言

单元测试-企业开发规范

依赖范围

Maven常见问题解决方案


Maven

Maven安装步骤

创建Maven项目

Maven坐标

Maven中的坐标是资源(jar)的唯一标识,通过该坐标可以唯一定位资源位置

使用坐标来定义项目或引入项目中需要的依赖

Maven坐标主要组成

1)groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)

2)artifactId:定义当前项目Maven项目名称(通常是模块名称,例如 order-service、goods-service)

3)version:定义当前项目版本号

  • SNAPSHOT:功能不稳定、尚处于开发中的版本,即快照版本
  • RELEASE:功能趋于稳定、当前更新停止,可以用于发行的版本
javascript 复制代码
<groupId>com.itheima</groupId>
<artifactId>maven-project01</artifactId>
<version>1.0-SNAPSHOT</version>

导入Maven项目

依赖配置

不知道依赖的坐标信息,可以到https://mvnrepository.com/中搜索

排除依赖

主动断开依赖的资源,被排除的依赖无需指定版本

java 复制代码
<!--    配置依赖-->
    <dependencies>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>6.1.4</version>
<!--            排除依赖-->
            <exclusions>
                <exclusion>
                    <groupId>io.micrometer</groupId>
                    <artifactId>micrometer-observation</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        
    </dependencies>

生命周期

每套生命周期包含一些极端(phase),极端是有顺序的,后面的阶段依赖于前面的阶段

在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行

测试

**测试:**用来促进鉴定软件的正确性、完整性、安全性和质量的过程

阶段划分

  • 单元测试
  • 集成测试
  • 系统测试
  • 验收测试

测试方法

  • 白盒测试
  • 黑盒测试
  • 灰盒测试

单元测试

**单元测试:**针对最小的功能单元(方法),编写测试代码对其正确性进行测试

**JUnit:**最流行的Java测试框架之一,提供一些功能,方便程序进行单元测试(第三方公司提供)

main方法测试缺点:

1、测试代码与源代码未分开,难维护

2、一个方法测试失败,影响后面方法

3、无法自动化测试,得到测试报告

JUnit单元测试

1、测试代码与源代码分开,便于维护

2、可根据需要进行自动化测试

3、可自动分析测试结果,产出测试报告

使用JUnit,对UserService中业务方法进行单元测试:

断言

JUnit提供的一些1辅助方法,用来帮助确定被测试的方法是否按照预期的效果正常工作

在JUnit单元测试中,为什么要使用断言?

  • 单元测试方法运行不报错,不代表业务方法没问题
  • 通过断言可以检测方法运行结果是否和预期一致,从而判断业务方法的正确性

JUnit常见注解

单元测试-企业开发规范

原则:编写测试方法时,要尽可能覆盖方法中所有可能的情况(尤其是边界值)

在maven项目中,test目录存放单元测试的代码,可以在main目录中编写单元测试,但是不规范

依赖范围

依赖的jar包,默认情况下,可以在任何地方使用。可以通过<scope>...</scope>设置其作用范围

作用范围:

主程序范围有效(main文件夹范围内)

测试程序范围有效(test文件夹范围内)

受否参与打包运行(package指令范围内)

Maven常见问题解决方案

产生原因:由于网络原因,依赖没有下载完整导致的,在仓库中生成了XXX.lastUpdated文件,该文件不删除,不会重新下载

解决方案:

重新加载依赖,依赖下载之后,maven面板可能还会报红,此时可以关闭IDEA,重新打开IDEA加载此项目即可。

相关推荐
两点王爷4 小时前
Java基础面试题——【Java语言特性】
java·开发语言
choke2334 小时前
[特殊字符] Python 文件与路径操作
java·前端·javascript
choke2334 小时前
Python 基础语法精讲:数据类型、运算符与输入输出
java·linux·服务器
岁岁种桃花儿4 小时前
CentOS7 彻底卸载所有JDK/JRE + 重新安装JDK8(实操完整版,解决kafka/jps报错)
java·开发语言·kafka
roman_日积跬步-终至千里5 小时前
【Java并发】Java 线程池实战:警惕使用CompletableFuture.supplyAsync
java·开发语言·网络
毕设源码-钟学长5 小时前
【开题答辩全过程】以 基于Springboot的扶贫众筹平台为例,包含答辩的问题和答案
java·spring boot·后端
CodeSheep程序羊5 小时前
拼多多春节加班工资曝光,没几个敢给这个数的。
java·c语言·开发语言·c++·python·程序人生·职场和发展
我是咸鱼不闲呀5 小时前
力扣Hot100系列19(Java)——[动态规划]总结(上)(爬楼梯,杨辉三角,打家劫舍,完全平方数,零钱兑换)
java·leetcode·动态规划
加油,小猿猿6 小时前
Java开发日志-双数据库事务问题
java·开发语言·数据库
yuluo_YX6 小时前
Reactive 编程 - Java Reactor
java·python·apache