使用 Docker Desktop + Testcontainers 实现真实数据库集成测试

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

基于 DeepSeek + Testcontainers 的 Spring Boot DDD 项目自动化集成测试操作手册(详细版)

适用于 Spring Boot 2.1.0 + MyBatis + DDD 架构
使用 Docker Desktop + Testcontainers 实现真实数据库集成测试
借助 DeepSeek AI (Continue 插件) 自动生成高质量测试代码


目录

1. 环境准备

2. Docker Desktop 安装与配置(超详细)

2.1 下载与安装

2.2 验证 Docker 是否正常运行

2.3 配置镜像加速(国内用户强烈推荐)

2.4 分配资源(可选)

3. IntelliJ IDEA 配置 DeepSeek AI 助手(含注意点)

3.1 安装 Continue 插件

3.2 获取 DeepSeek API Key

3.3 配置 Continue 连接 DeepSeek

4. 项目 Maven 依赖配置(版本锁定+避坑)

4.1 完整 pom.xml 测试依赖

4.2 Maven 插件配置(确保 JUnit 4 正确执行)

5. 测试配置文件编写(Testcontainers + MyBatis)

5.1 创建 application-test.properties

5.2 如果不想使用 JDBC Scheme,可以手动配置数据源(备用方案)

6. 集成测试模板编写(逐层详解)

6.1 Mapper 层集成测试(验证 SQL 映射)

6.2 Service 层集成测试(真实数据库 + Testcontainers)

6.3 Service 层单元测试(Mock 隔离,快速验证)

6.4 Controller 层集成测试(端到端 API 测试)

7. 使用 DeepSeek AI 自动生成测试代码(Prompt 模板+技巧)

7.1 通过 Continue 插件快速生成

7.2 通过 Prompt 对话生成(更灵活,可控性强)

8.3 查看测试报告

8.4 Debug 模式运行

8. 常见问题与解决方案(20+ 典型问题)

9. 最佳实践与注意点汇总

10.1 环境与配置

10.2 AI 生成代码

10.3 测试编写

10.4 持续集成

附录:快速参考卡


  1. 环境准备

在开始之前,请确保你的开发环境满足以下要求:

组件

最低版本

推荐版本

检查命令

操作系统

Windows 10 20H2 / macOS 10.15

Windows 11 / macOS 12+

-

CPU 虚拟化

已启用(BIOS中开启 VT-x/AMD-V)

-

任务管理器 → 性能 → 虚拟化:已启用

JDK

1.8.0_201

1.8.0_352

java -version

IntelliJ IDEA

2023.1

2024.1+

Help → About

Maven

3.6.3

3.9.5

mvn -version

Docker Desktop

4.10.0

4.28+

docker version

网络

能访问 Docker Hub 和 DeepSeek API

-

ping docker.com


  1. Docker Desktop 安装与配置(超详细)
  1. 下载与安装

1.

访问 Docker Desktop 官网

2.

3.

根据你的操作系统选择版本:

4.

1.

Windows:选择 Docker Desktop for Windows(x86_64)

2.

3.

macOS:选择 Docker Desktop for Mac(Apple Chip 或 Intel Chip)

4.

5.

下载后双击安装包:

6.

1.

Windows:勾选 Use WSL 2 instead of Hyper-V(强烈推荐,性能更好)。如果不确定,默认勾选即可。

2.

3.

macOS:将 Docker.app 拖入 Applications 文件夹。

4.

7.

安装完成后,从开始菜单(或启动台)启动 Docker Desktop。

8.

9.

首次启动会要求登录 Docker Hub(可跳过或注册免费账号)。

10.

  1. 验证 Docker 是否正常运行

打开命令行(Windows PowerShell 或 macOS Terminal),执行:

bash

docker version

正常输出应包含 Client 和 Server 两部分信息。如果只显示 Client 或无 Server,说明 Docker 引擎未启动。

再执行:

bash

docker run hello-world

如果输出 Hello from Docker!,说明容器可以正常运行。

  1. 配置镜像加速(国内用户强烈推荐)

由于 Docker Hub 在国内访问缓慢,配置国内镜像加速器可以大幅提升拉取速度。

操作步骤

1.

右键系统托盘中的 Docker 图标 → Settings

2.

3.

选择 Docker Engine

4.

5.

在 JSON 配置中添加 registry-mirrors 字段:

6.

json

{   "registry-mirrors": [    "https://registry.cn-hangzhou.aliyuncs.com/",    "https://docker.mirrors.ustc.edu.cn/",    "https://mirror.ccs.tencentyun.com/"  ],  "experimental": false}

1.

点击 Apply & Restart,等待 Docker 重启。

2.

验证加速是否生效

bash

docker info | findstr "Registry Mirrors"   # Windowsdocker info | grep "Registry Mirrors"      # macOS/Linux

应该能看到你配置的镜像地址。

  1. 分配资源(可选)

如果电脑内存较小(<16GB),可以限制 Docker 使用的资源:

Settings → Resources → Advanced

建议:CPU 限制 4 核,内存限制 4GB,Swap 1GB

⚠️ 注意点(Docker 部分)

  1. 家庭版用户:Docker Desktop 需要 WSL 2,家庭版需先安装 WSL 2(参考微软官方文档)。
  1. Intel 芯片:如果使用 Apple Chip(M1/M2)版本,请下载 Apple Silicon 版本,否则可能出现架构不兼容(如 MySQL 镜像拉取 arm64 版本)。
  2. 启动失败:常见原因是 Hyper-V 未启用或与其他虚拟化软件(VirtualBox)冲突。解决方案:关闭其他虚拟化软件,或在 Windows 功能中开启 Hyper-V。
  • Docker:Docker Desktop 默认不会开机自启,请记得在测试前启动它。


  1. IntelliJ IDEA 配置 DeepSeek AI 助手(含注意点)

我们使用 Continue 插件,它是目前开源免费、支持自定义模型的最佳选择。

  1. 安装 Continue 插件

1.

打开 IntelliJ IDEA,进入 File → Settings (Windows) 或 IntelliJ IDEA → Preferences (macOS)

2.

3.

点击 Plugins → 搜索框输入 Continue

4.

5.

找到 Continue 插件(图标为黑色背景 + 白色箭头),点击 Install

6.

7.

安装完成后,点击 Restart IDE 重启 IDEA

8.

  1. 获取 DeepSeek API Key

1.

访问 DeepSeek 开放平台

2.

3.

点击右上角 Sign Up 注册(支持手机号或邮箱)

4.

5.

登录后,进入 API Keys 页面

6.

7.

点击 Create API Key,输入名称(如 IDEA-Continue

8.

9.

复制生成的 Key(它只显示一次,请妥善保存。如果丢失,只能删除重建)

10.

  1. 配置 Continue 连接 DeepSeek

1.

重启 IDEA 后,右侧边栏会出现 Continue 图标(如果没出现,点击 View → Tool Windows → Continue

2.

3.

点击 Continue 图标打开对话窗口

4.

5.

点击左下角的 齿轮图标(设置)

6.

7.

选择 Models 选项卡

8.

9.

点击 + Add Chat Model

10.

11.

在弹出的窗口中:

12.

o

Provider 选择 DeepSeek 或 DeepSeek Coder(推荐 DeepSeek Coder,更擅长代码)

o

o

Model 选择 deepseek-coder(如果无此选项,手动输入 deepseek-coder

o

o

API Key 粘贴你刚才复制的 Key

o

o

API Base 保持默认 https://api.deepseek.com/v1

o

13.

点击 Save

14.

15.

返回对话窗口,输入 Hello, 请介绍一下你自己,如果正常回复,说明配置成功。

16.

⚠️ 注意点(DeepSeek + Continue 部分)

API Key 安全性:切勿将 API Key 提交到 Git 仓库。Continue 的配置保存在本地 ~/.continue/config.json,不要分享该文件。

网络访问:确保你的网络可以访问 api.deepseek.com(国内正常访问,无需代理)。

免费额度:DeepSeek 新用户赠送 500 万 tokens(足够生成大量测试代码),但需留意余额,可在平台查看。

模型选择:如果 deepseek-coder 不可用,可以选择 deepseek-chat,两者在测试代码生成上差异不大。

插件更新:Continue 更新频繁,建议定期检查插件更新(Settings → Plugins → Updates)。


  1. 项目 Maven 依赖配置(版本锁定+避坑)
  1. 完整 pom.xml 测试依赖

在项目的 pom.xml 中,找到 <dependencies> 标签,添加以下内容:

xml

<properties>    <java.version>1.8</java.version>    <!-- 关键:Spring Boot 2.1.0 必须使用 Testcontainers 1.15.x 系列 -->    <testcontainers.version>1.15.3</testcontainers.version></properties><dependencies>    <!-- 原有的其他依赖保持不变 -->    <!-- Spring Boot Test(必须) -->    <dependency>        <groupId>org.springframework.boot</groupId

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘世中-迷途小书童

欢迎IT从业者的头脑风暴

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值