Spring Boot 测试大师课:让周五发版不再心慌
2026/7/8 8:13:09 网站建设 项目流程

文章目录

  • Spring Boot 测试大师课:让周五发版不再心慌
    • 1、这玩意儿是干嘛的
    • 2、仓库里到底有什么
    • 3、测试怎么跑
    • 4、踩过的坑也写下来了
    • 5、适合谁看

Spring Boot 测试大师课:让周五发版不再心慌

rieckpil/testing-spring-boot-applications-masterclass 在 GitHub 上拿到 330 颗 Star。

这是德国开发者 Philip Rieckpil 做的一门 Spring Boot 测试课程配套项目,仓库里放的是完整的演示微服务代码。

1、这玩意儿是干嘛的

一句话,教 Java 开发者怎么给 Spring Boot 应用写测试。

不是那种只演示@SpringBootTest的入门教程,而是把一个真实的微服务架构拆开,教你测数据库、测消息队列、测 HTTP 调用、测前端集成。JUnit 5、Mockito、Testcontainers、WireMock、Selenide、Awaitility、LocalStack,这套工具链在课程里全部用到了。

README 里说得很直接:周五下午要发版,胃都紧了,怕半夜被电话叫起来修 bug。这就是测试没底气留下的债。

2、仓库里到底有什么

一个完整可跑的微服务项目,技术栈是这样的:

  • Keycloak 做身份认证,走 OpenID Connect / OAuth 2.0
  • Amazon SQS 演示异步消息处理的测试
  • PostgreSQL 当关系型数据库
  • 前端是 React + TypeScript 的单页应用
  • 后端是 Spring Boot + Java 21

依赖一个远程 REST API,用来演示怎么测对外部 HTTP 服务的调用。

./mvnw spring-boot:run一条命令就能把整条链路在本地 Docker 上跑起来,关键页面在localhost:8080,Keycloak 管理后台在8888。两个测试账号:duke / dukeduke,mike / mikemike。

3、测试怎么跑

仓库给了三组命令。

跑单元测试,用 Maven Surefire:./mvnw test

跑集成和 Web 测试,用 Failsafe:先docker ps确认没有冲突容器,再./mvnw package -DskipTest编译并构建前端到target/classes/public,最后./mvnw failsafe:integration-test failsafe:verify

全跑一遍:./mvnw verify

Windows 用户把./mvnw换成mvnw.cmd

4、踩过的坑也写下来了

README 里专门留了 Troubleshooting 章节。

ARM64 机器(比如 MacBook Pro M1)跑不起来,对应 issue #31 给了解法。前端构建想跳过,加参数-Dskip.installnodenpm -Dskip.npm。Keycloak 容器启动时挂掉,给出了精简版docker-compose.yml,去掉自动导入配置那段,手动配。

最实用的是企业代理网络那一段。很多公司内网开发的同学都有这个痛:Maven 能跑了,npm 又卡,LocalStack 的 localhost 调用还被代理拦截。仓库里给了三份配置,~/.m2/settings.xml配 Maven 代理,npm config set配 npm 代理,LocalStack 那边加 JVM 参数-Dhttp.nonProxyHosts="localhost|127.0.0.1|::1|*.local"让 AWS SDK 绕过代理。

5、适合谁看

  • 写 Spring Boot 的 Java 工程师,发版前总是心里没底
  • 想从单元测试进阶到集成测试、端到端测试的人
  • 团队里在搭测试体系、需要一份参考实现的技术负责人
  • 准备上 Java 21 和 Spring Boot 4,想顺手把测试体系理一理的团队

课程本身是付费的,仓库代码免费开源。只看代码也能学到不少东西,比如 Testcontainers 配 LocalStack 测 SQS 的写法、WireMock 模拟远程 REST API 的姿势,都是能直接抄走的模板。

LocalStack 测 SQS 的写法、WireMock 模拟远程 REST API 的姿势,都是能直接抄走的模板。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询