Spring Mvc Test - MockMvc
MockMvc提供了对spring mvc层的测试能力。它能够模拟server的运行过程(实际上并没有真的server在运行),处理mock的请求和响应。说白了就是:client和server本来应该是多进程的行为,现在不仅都放在一个进程里,甚至都放在了同一个线程里执行!通过MockMvc,直接在一个线程里执行servlet! It performs full Spring MVC ...
MockMvc提供了对spring mvc层的测试能力。它能够模拟server的运行过程(实际上并没有真的server在运行),处理mock的请求和响应。说白了就是:client和server本来应该是多进程的行为,现在不仅都放在一个进程里,甚至都放在了同一个线程里执行!通过MockMvc,直接在一个线程里执行servlet! It performs full Spring MVC ...
快半年了,从第一次看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的框架拥有拓展能力——主要是通过j...
既然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...