三套生命周期,项目清理,项目构建,项目生成
我们主要关注五个阶段
- clean:移除上一次构建生成的文件
- compile:编译项目源代码
- test:使用合适的单元测试框架运行测试
- package:将编译后的文件打包,如:jar, war等
- install: 安装项目到本地仓库
在同一套生命周期中,运行后面的阶段时,前面的阶段都会运行。
执行指定的生命周期
- 在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行
- 在命令行中,通过命令执行
clean:清理上一次项目构建产生的文件,也就是删除target目录。
compile:编译项目文件,放在target目录下
test:执行单元测试,稍后讲解
site :打包,生成jar包文件,放在target目录下
install:安装,将当前maven项目安装到我们的本地仓库
若想知道我们的项目安装到本地仓库什么位置了,就要先根据xml文件中的信息查找
如果你是默认的如上图,那么路径就是你的本地仓库文件夹下的org目录下的example目录下的maven_project01
例:"E:\maven\apache-maven-3.9.9\mvn_repo\org\example\maven_project01"
如果你进行了设置,如下:
那么本地位置就会在
...你的仓库\com\my_learn\maven_project01
注意,编者在第一次使用install时出现了报错(没有package),按照compile->package->install操作后就成功生成了jar包,但是在install时应该是会自动执行之前的所有操作的,编者clean后再次直接install也成功了,应该是偶然错误。
测试
测试是用来辅助鉴定软件正确性,完整性,安全性和质量的重要内容,因此重点讲解
测试方法又分为:白盒,黑盒,灰盒测试
- 白盒测试:开发人员知道内部代码,可判断代码逻辑是否正确,验证代码
- 黑盒测试:不清楚软件内部结构,用于验证软件功能和兼容性等
- 灰盒测试:结合白盒和黑盒。
单元测试
针对最小的功能单元(比如一个方法)进行正确性测试。
JUnit是最流行的java测试框架之一,方便进行测试。
为何不在main方法直接跑》
- 测试代码与源代码未分开,难维护
- 一个方法测试失效,影响后面的方法
- 无法自动化测试,得到测试报告
使用JUnit进行单元测试
下面以案例的形式进行讲解
- 在pom.xml中引入依赖
- 在test/java目录下创建测试类,并编写对应的测试方法,并在方法上声明@Test注解。
- 运行测试
注意:JUnit单元测试类命名必须以Test结尾,单元测试方法必须声明为public void
一图讲解:

如图,我们在main/java/com.huohuo包中编写好了待测试的代码UserService,并在test/java/com.huohuo包中编写好了测试程序,就是@Test注解下的测试方法,调用待测试的类方法。
此时,测试方法右边出现了绿色的小箭头,点击就能执行测试,测试成功就会显示如图的对勾。
那么有时候我们的方法没有报错,却有逻辑错误,比如1+1=3,那么如何测试出来呢
实际上断言测试就是以上固定的流程,可以辅助我们进行判断。
接下来我们看一看常见的注解
实际上这些注解和方法了解就行了,用的时候随时查。
最后是企业级开发的一些规范
企业开发规范
我们可以利用ai工具辅助生成专业的单元测试
Maven依赖范围

常见问题解决方案

end
下一节是web基础知识.
致谢 :本文参考黑马程序员的视频,本人也看过很多黑马程序员的视频,给我带来非常大的帮助。
https://www.bilibili.com/video/BV1yGydYEE3H/?vd_source=1b8f9bfb1d0891faf1c70d7678ae56db