我直接从后端开始做笔记,前面的HTML、CSS、JS、Vue、Ajax先跳过,直接从maven开始
我只是简单的记录大致 帮助回想 不适合进行学习
Maven
Maven的作用:依赖管理、项目构建、统一项目结构
依赖管理:方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题 在pom.xml文件进行配置 项目构建:通过Maven中的命令,就可以很方便的完成项目的编译、测试、打包、发布(deploy) 等统一项目结构:提供标准的java项目目录
Maven三个模型
-
项目对象模型 (Project Object Model)
-
依赖管理模型(Dependency)
-
构建生命周期/阶段(Build lifecycle & phases)
-
项目对象模型,就是将我们自己的项目抽象成一个对象模型,有自己专属的坐标。坐标的组成部分
-
groupId: 组织名
-
arfitactId: 模块名
-
Version: 版本号
Maven的项目目录结构
maven-project01
|--- src (源代码目录和测试代码目录)
|--- main (源代码目录)
|--- java (源代码java文件目录)
|--- resources (源代码配置文件目录)
|--- test (测试代码目录)
|--- java (测试代码java目录)
|--- resources (测试代码配置文件目录)
|--- target (编译、打包生成文件存放目录)
然后可以看一下pom.xml里边每一个标签什么意思
生命周期
Maven的生命周期就是为了对所有的构建过程进行抽象和统一。 描述了一次项目构建,经历哪些阶段。Maven从大量项目和构建工具中学习和反思,然后总结了一套高度完美的,易扩展的项目构建生命周期。
生命周期划分为3套(相互独立)
-
clean:清理工作。
-
default:核心工作。如:编译、测试、打包、安装、部署等。
-
site:生成报告、发布站点等。
单元测试
测试方法包括三个:
1). 白盒测试
清楚软件内部结构、代码逻辑。
用于验证代码、逻辑正确性。
2). 黑盒测试
不清楚软件内部结构、代码逻辑。
用于验证软件的功能、兼容性、验收测试等方面。
3). 灰盒测试
结合了白盒测试和黑盒测试的特点,既关注软件的内部结构又考虑外部表现(功能)。
JUnit单元测试
使用JUnit单元测试框架进行测试,优势:
-
测试代码与源代码分开,便于维护。
-
可根据需要进行自动化测试。
-
可自动分析测试结果,产出测试报告。
值得注意的是,测试类的命名规范为:XxxxTest 测试方法的命名规定为:public void xxx(){...}
JUnit提供了一些辅助方法,用来帮我们确定被测试的方法是否按照预期的效果正常工作,这种方式称为断言。
断言方法 | 描述 |
assertEquals(Object exp, Object act, String msg) | 检查两个值是否相等,不相等就报错。 |
assertNotEquals(Object unexp, Object act, String msg) | 检查两个值是否不相等,相等就报错。 |
assertNull(Object act, String msg) | 检查对象是否为null,不为null,就报错。 |
assertNotNull(Object act, String msg) | 检查对象是否不为null,为null,就报错。 |
assertTrue(boolean condition, String msg) | 检查条件是否为true,不为true,就报错。 |
assertFalse(boolean condition, String msg) | 检查条件是否为false,不为false,就报错。 |
assertSame(Object exp, Object act, String msg) | 检查两个对象引用是否相等,不相等,就报错。 |
在Junit中提高注解以增强其功能
@Test | 测试类中的方法用它修饰才能成为测试方法,才能启动执行 |
@BeforeEach | 用来修饰一个实例方法,该方法会在每一个测试方法执行之前执行一次。 |
@AfterEach | 用来修饰一个实例方法,该方法会在每一个测试方法执行之后执行一次。 |
@BeforeAll | 用来修饰一个静态方法,该方法会在所有测试方法之前只执行一次。 |
@AfterAll | 用来修饰一个静态方法,该方法会在所有测试方法之后只执行一次。 |
@ParameterizedTest | 参数化测试的注解 (可以让单个测试运行多次,每次运行时仅参数不同) |
@ValueSource | 参数化测试的参数来源,赋予测试方法参数 |
@DisplayName | 指定测试类、测试方法显示的名称 (默认为类名、方法名) |