根据项目对象模型(POM)的概念,Maven 可以管理一个项目的依赖关系、构建、报表以及信息中心的部分文档。
hamcrest 断言 maven依赖:
hamcrest支持多种语言,这里以 Java 为例:
进入到 hamcrest 断言的 Matchers 类中可以看到其中包含了相当丰富的断言匹配器,能更大程度上实现各种复杂断言场景:
为什么使用Spring Boot
- 简化配置,无需编写太多的 xml 配置文件,效率很高;
-
- Spring 可以整合很多各式各样的框架,并能很好的集成;
-
- 基于 Spring 构建,使开发者快速入门,门槛很低;
-
- Spring Boot 可以创建独立运行的应用而不需要依赖外部组件或工具;
-
- 内置 Tomcat 服务器,无需打成 war 包,可以直接在内置 Tomcat 中运行;
-
- 提供 Maven 极简配置,以及可视化的相关监控功能,如性能监控,应用健康程度等;
-
- 为微服务 Spring Cloud 奠定了基础,使得微服务的构建变得简单;
-
- 活跃的社区与论坛,以及丰富的开发文档;
Spring Boot快速开始
- 打开 https://start.spring.io/,可以看到以下信息(可根据需要调整):
-
- Spring Boot 默认为 Maven 项目;
-
- 默认语言为 Java ;
-
- Spring Boot 当前默认版本为 2.4.4;
-
- 默认会打成 Jar 包;
-
- Java 版本默认为 11;
-
- 在 Group 中填入自己的组织,一般填写公司域名的到写,例如 com.ceshiren 或者 com.baidu;
-
- 在 Artifact 中填写工程的名称,例如 aitest-demo ;
-
- package 选择 Jar ,Java 根据自己的 JDK 版本选择,如我本地为 JDK8,则此处可以选择 8,至此,基础选择已经全都选完,接下来要开始选择我们使用的 Spring Boot 的组件了。
-
- 在右侧 Dependencies 中找到 Spring Web ,选择 Spring Web 即可创建 Spring Boot 服务:
-
- 配置完毕后,点击下方左边第一个按钮( GENERAT ECTRL + ⏎)即可生成包含 Spring Boot 项目完整示例代码和配置的压缩包文件,解压后即可使用。
- 配置完毕后,点击下方左边第一个按钮( GENERAT ECTRL + ⏎)即可生成包含 Spring Boot 项目完整示例代码和配置的压缩包文件,解压后即可使用。
- 以 idea 为例
-
- 打开 idea ,
-
- file -> new -> project ,
-
- 选中 Spring Initializr ,这时可以看到右侧让我们选择一个初始化的服务 url,默认的就是上面的官方链接,https://start.spring.io/
-
- 点击 next 下一步,填写和上面一样的 Group 、 Artifact 、 Java 版本、 package 方式等信息,
-
- 继续 next 下一步,选择依赖,和前面的方法的一样,在 Dependencies 中找到 Spring Web ,选择 Spring Web ,
-
- 点击 next ,选择项目名称和存储路径,点击 finish ,第一个项目 aitest-demo 就创建完成了
- 我一般选择第一种方式创建 Spring Boot 项目,这种方式不依赖 IDE 工具。
- 目录结构介绍
-
- pom.xml:Maven 工程配置文件,主要配置当前工程的一些基本信息,包含我们当前依赖的组件,版本、Maven 插件等信息;
-
- src/main/java 下的程序入口:AitestDemoApplication,通过类名上方的 SpringBootApplication 注解来加载 Spring Boot 各种特性;
-
- src/main/resources 下的配置文件:application.properties;
-
- src/test/下的测试入口:AitestDemoApplicationTests。
- Web 后端开发框架 Spring Boot 先讲到这里,后面会继续讲后端 Web 开发扩展知识,包括 RESTful 风格 API 设计、Spring Boot 集成 Swagger、Spring Boot 异常处理,敬请关注哦~
原文链接
获取更多技术文章分享
官网也对断言进行了分类和说明:
先来看hamcrest断言和原生断言的写法区别,在官方文档中给出了的第一个实例如下:
在Junit4的官方也给出了说明:
可以看到,hamcrest 会统一先使用 assertThat 来声明一个断言,然后再在内部进行具体匹配器的断言细节,期望值和实际值进行对比;有了 hamcrest 断言,就可以直接摒弃原生的断言了~
Hamcrest断言功能很强大,那么如何 get 这个功能的正确打开方式呢?接下来用实操演示,带领大家一起来进行实操。毕竟:内化于心,外化于行才是最重要的。
-
equalTo: 判断相等
-
在失败时可以看到打印了我的说明:actual value equal to 10 以及失败的对比,<> 表示原始类型
-
closeTo: 接近于多少,给定误差值源码中是这样写的
需要给定两个 double 类型的参数,一个是你要操作的数值,一个是误差范围;另外要注意的是实际值也必须是 double 类型才可以进行对比: -
anyOf : 后面可跟上多个匹配器,只要其中任何一个满足条件就通过
-
allOf : 后面可跟上多个匹配器,只要其中任何一个不满足条件都不通过
-
另外还有很多常用的匹配器,比如
-
- hasItem, hasItems ,contains,等;具体的可以参考官方文档和类库
-
hamcrest官方文档:
-
http://hamcrest.org/JavaHamcrest/tutorial
-
官方GitHub:
-
https://github.com/junit-team/junit4/wiki/Matchers-and-assertthat
-
Mvnrepository:
-
https://mvnrepository.com/artifact/org.hamcrest/hamcrest-core/2.1
-
想深度掌握断言机制的同学,这里也推荐霍格沃兹测试学院独家特色课程:
-
https://ke.qq.com/course/254956
推荐霍格沃兹测试学院出品的 《测试开发从入门到高级实战》系统进阶班课程。
4 个月由浅入深,强化集训,测试大咖通过 8+ 企业级项目实战演练,带你一站式掌握 BAT 测试开发工程师必备核心技能(对标阿里巴巴P6+,挑战年薪50W+)!