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

Spring Boot 测试大师课:让周五发版不再心慌 文章目录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.0Amazon SQS 演示异步消息处理的测试PostgreSQL 当关系型数据库前端是 React TypeScript 的单页应用后端是 Spring Boot Java 21依赖一个远程 REST API用来演示怎么测对外部 HTTP 服务的调用。./mvnw spring-boot:run一条命令就能把整条链路在本地 Docker 上跑起来关键页面在localhost:8080Keycloak 管理后台在8888。两个测试账号duke / dukedukemike / 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.nonProxyHostslocalhost|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 的姿势都是能直接抄走的模板。