Tech Spring Test - Spring TestContext Framework
快半年了,从第一次看spring test到现在,中间兜兜转转又做了一大堆事,补充了一大堆知识,现在回头再看,一切终于豁然开朗了! Spring TestContext Framework的抽象 test instance TestContext TestContextManager 加载TestCont...
快半年了,从第一次看spring test到现在,中间兜兜转转又做了一大堆事,补充了一大堆知识,现在回头再看,一切终于豁然开朗了! Spring TestContext Framework的抽象 test instance TestContext TestContextManager 加载TestCont...
Junit Jupiter Spring Test TestContext framework MockMvc client SpringBoot Test Junit Jupiter JUnit Jupiter是梦开始的地方。提供了@ExtendWith,让其他基于Jupiter的框架拥有拓展能力——主要是通过jupi...
既然assertj看完了,既然testcontainers、spring、springboot几乎每个框架都接入了jupiter的@ExtendWith,那就好好看看早就想看的jupiter吧! basic @DisplayName("😱") assertion assumption @Disabled @Tag ...
之前就一直看到很多开源框架使用AssertJ做测试,一直想看看,也没来得及。最近又好好看了看近期接触的优秀开源框架的测试用例,AssertJ再度映入眼帘。简单试了一下,果然比JUnit爽多了。不能忍了,今天终于抽空好好看了看AssertJ的架构。 断言谁 架构 一些优雅的用法 断言描述: as(String description, Object… arg...
今天在看assertj的实现时,看到了一个很好玩的东西:用泛型实现父子类的fluent api。它引用的一篇文章,回答了我之前很多次看到这种泛型写法时的满头问号。 fluent api 父类的this isNotNull在不同子类里抄了好多遍 为什么不写到父类里? 自界泛型 用泛型模拟一个能感知父子类具体类型的this ...
今天干了一件蠢事:遍历索引,一时偷懒,索引的条目也还在可接受范围内,所以使用page翻页遍历所有数据,结果翻车了~ 翻页遍历 如果文档得分相同,怎么排序? tie breaker 解决方法 手动指定sort search_after search_after + pit in time ...
今天被maven的transitive依赖搞懵逼了,一下午未果。晚上又查了查,突然意识到自己对dependencyManagement的理解不太完整,果然是栽到这个上面了…… 依赖仲裁 dependencyManagement 功能一:统一管理child pom依赖 功能二:控制transitive依赖的版本 dependencyMan...
第一次接触testcontainers,是改spring-data-elasticsearch的代码,当时就被testcontainers的集成测试惊艳到了。后来第二次再碰到testcontainers,是研究elasticsearch client时看别人用testcontainers测试client,第二次见面就感觉熟悉多了。小小研究之后,真的感觉相见恨晚,集成测试的问题从此解决了!再也...
elasticsearch有很多Java client,底层的、上层的,废弃的、现存的,需要好好梳理一下,不然编程的时候一脸懵逼,尤其是使用spring boot自动配置client的时候。 https://spinscale.de/posts/2022-03-03-running-the-elasticcc-platform-part-2.html 另外spring data e...
虽然elasticsearch是分布式系统,但挡不住误操作啊!一不小心把数据写坏了、删错了,分布式系统也没辙。为了不让多年努力毁于一旦,必须花时间做个备份。手中有备份,自然可以随便造。 hdfs plugin data dump backup to hdfs 配置repo hadoop name node ...