hamcrest

Spring Boot 2.4 正式发布,重大调整!!!

只谈情不闲聊 提交于 2020-11-14 17:05:46
大家周末愉快啊, Spring Boot 2.3.5 没发布几天,你看,还是 1 周前发布的: 昨天又有粉丝留言说 Spring Boot 2.4.0 已经发布了: 我了个去,栈长赶紧跑到 Spring Boot 官网看了下,果然 2.4.0 了,我顿时傻眼了,又得写文章了,看来我消息还是稍微有点滞后了… Spring Boot 2.4.0 这么快就发布了,又是周末来给大家推送,我印象中都是周末推…… Spring Boot 更新也太快了,很多同学表示学不来了,学不动了。学不动也要学啊,不然就要被淘汰了,Java技术栈所有 Spring Boot 教程和示例源码都上传到 Github 了,欢迎 Star: https://github.com/javastacks/spring-boot-best-practice 好吧,还是例行公事,接下来栈长带大家来解读下 Spring Boot 2.4.0 到底更新了什么鬼? 切记!!! 这个版本不要轻易升级!!! 下面注意仔细看完哦。。。 一、支持 Java 15 Spring Boot 2.4.0 支持 Java 15 了,同时向下兼容 Java 11 和 Java 8。 二、依赖升级 Spring Boot 2.4.0 升级了一些主要的 Spring 项目: Spring AMQP 2.3 Spring Batch 4.3 Spring

使用feilong发企业微信机器人

倾然丶 夕夏残阳落幕 提交于 2020-10-24 17:12:48
使用 #feilong# https://www.oschina.net/p/feilong 发企业微信机器人 企业微信机器人在日常的使用场景中越来越多, 比如服务器关键任务告警,定时发通知提醒等等, 和短信相比即免费又不像短信逐渐只有接收验证码的功能, 那么问题来了,如何使用feilong来发送企业微信机器人呢? 简单 3 步 第1步: jar 依赖 必要依赖 <dependency> <groupId>com.github.ifeilong</groupId> <artifactId>feilong</artifactId> <version>3.0.9</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>4.5.12</version> <exclusions> <exclusion> <artifactId>httpclient</artifactId> <groupId>org.apache.httpcomponents</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org

JUnit5学习之三:Assertions类

巧了我就是萌 提交于 2020-10-09 11:45:40
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码): https://github.com/zq2599/blog_demos 关于《JUnit5学习》系列 《JUnit5学习》系列旨在通过实战提升SpringBoot环境下的单元测试技能,一共八篇文章,链接如下: 基本操作 Assumptions类 Assertions类 按条件执行 标签(Tag)和自定义注解 参数化测试(Parameterized Tests)基础 参数化测试(Parameterized Tests)进阶 综合进阶(终篇) 本篇概览 本文是《JUnit5学习》系列的第三篇,主要是学习Assertions类(org.junit.jupiter.api.Assertions),Assertions类的一系列静态方法给我们提供了单元测试时常用的断言功能,本篇主要内容如下: Assertions源码分析 写一段代码,使用Assertions的常用静态方法 使用异常断言 使用超时断言 了解第三方断言库 源码下载 如果您不想编码,可以在GitHub下载所有源码,地址和链接信息如下表所示: 名称 链接 备注 项目主页 https://github.com/zq2599/blog_demos 该项目在GitHub上的主页 git仓库地址(https) https://github.com/zq2599

Mockito 简明教程

耗尽温柔 提交于 2020-10-07 04:00:47
什么是 Mock 测试 Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取比较复杂的对象(如 JDBC 中的ResultSet 对象),用一个虚拟的对象(Mock 对象)来创建以便测试的测试方法。 Mock 最大的功能是帮你把单元测试的耦合分解开,如果你的代码对另一个类或者接口有依赖,它能够帮你模拟这些依赖,并帮你验证所调用的依赖的行为。 比如一段代码有这样的依赖: 当我们需要测试A类的时候,如果没有 Mock,则我们需要把整个依赖树都构建出来,而使用 Mock 的话就可以将结构分解开,像下面这样: Mock 对象使用范畴 真实对象具有不可确定的行为,产生不可预测的效果(如:股票行情,天气预报) : 真实对象很难被创建的 真实对象的某些行为很难被触发 真实对象实际上还不存在的(和其他开发小组或者和新的硬件打交道)等等 使用 Mock 对象测试的关键步骤 使用一个接口来描述这个对象 在产品代码中实现这个接口 在测试代码中实现这个接口 在被测试代码中只是通过接口来引用对象,所以它不知道这个引用的对象是真实对象,还是 Mock 对象。 Mock 与 Stub 的区别 Mock 不是 Stub,两者是有区别的: 前者被称为 mockist TDD,而后者一般称为 classic TDD ;

Mockito 简明教程

前提是你 提交于 2020-10-06 11:47:52
什么是 Mock 测试 Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取比较复杂的对象(如 JDBC 中的ResultSet 对象),用一个虚拟的对象(Mock 对象)来创建以便测试的测试方法。 Mock 最大的功能是帮你把单元测试的耦合分解开,如果你的代码对另一个类或者接口有依赖,它能够帮你模拟这些依赖,并帮你验证所调用的依赖的行为。 比如一段代码有这样的依赖: 当我们需要测试A类的时候,如果没有 Mock,则我们需要把整个依赖树都构建出来,而使用 Mock 的话就可以将结构分解开,像下面这样: Mock 对象使用范畴 真实对象具有不可确定的行为,产生不可预测的效果(如:股票行情,天气预报) : 真实对象很难被创建的 真实对象的某些行为很难被触发 真实对象实际上还不存在的(和其他开发小组或者和新的硬件打交道)等等 使用 Mock 对象测试的关键步骤 使用一个接口来描述这个对象 在产品代码中实现这个接口 在测试代码中实现这个接口 在被测试代码中只是通过接口来引用对象,所以它不知道这个引用的对象是真实对象,还是 Mock 对象。 Mock 与 Stub 的区别 Mock 不是 Stub,两者是有区别的: 前者被称为 mockist TDD,而后者一般称为 classic TDD ;

Why android espresso test fails when checking whether textView text ends with expected string (when ellipsized)

不打扰是莪最后的温柔 提交于 2020-06-23 12:52:08
问题 I have an android test checking that external text message is truncated and ends with three dots when applying android:ellipsize="end". I do not know why test fails despite text presented in a activity is properly formatted. @Test fun when_errorMessage_is_very_long_then_text_of_errorMessageTextView_ends_with_dots() { //given val errorMessage = """ Very long error, Very long error, Very long error, Very long error, Very long error, Very long error, Very long error, Very long error, Very long

Why android espresso test fails when checking whether textView text ends with expected string (when ellipsized)

喜欢而已 提交于 2020-06-23 12:50:43
问题 I have an android test checking that external text message is truncated and ends with three dots when applying android:ellipsize="end". I do not know why test fails despite text presented in a activity is properly formatted. @Test fun when_errorMessage_is_very_long_then_text_of_errorMessageTextView_ends_with_dots() { //given val errorMessage = """ Very long error, Very long error, Very long error, Very long error, Very long error, Very long error, Very long error, Very long error, Very long

Why android espresso test fails when checking whether textView text ends with expected string (when ellipsized)

↘锁芯ラ 提交于 2020-06-23 12:49:14
问题 I have an android test checking that external text message is truncated and ends with three dots when applying android:ellipsize="end". I do not know why test fails despite text presented in a activity is properly formatted. @Test fun when_errorMessage_is_very_long_then_text_of_errorMessageTextView_ends_with_dots() { //given val errorMessage = """ Very long error, Very long error, Very long error, Very long error, Very long error, Very long error, Very long error, Very long error, Very long

Mockito, argThat, and hasEntry

萝らか妹 提交于 2020-05-14 19:50:08
问题 tl;dr: These tests don't compile because the type parameters don't match. What changes should I make to make them compile and run correctly? https://github.com/wesleym/matchertest I have some non-test code that calls into a service. It calls the service's activate method with a map parameter. public class Foo { private final Service service; public Foo(Service service) { this.service = service; } public void bar() { Map<String, ?> params = getParams(); service.activate(params); } private Map