发布于2026-07-12 阅读(0)
扫一扫,手机访问

在Debian环境下做Ja va项目测试,环境搭建是第一步。别小看这一环,搞顺了后面事半功倍。
sudo apt update && sudo apt install openjdk-11-jdk(当然换成 openjdk-17-jdk 也行)。~/.bashrc 或 /etc/profile 中加上这两行:
export JA VA_HOME=/usr/lib/jvm/ja va-11-openjdk-amd64
export PATH=$JA VA_HOME/bin:$PATH
然后 source 一下生效。sudo apt install ma ven 或 gradle,简单省事。ja va -version、ja vac -version、mvn -v 或 gradle -v,确保一切正常。环境就绪,就可以用构建工具创建项目了。以 Ma ven 为例,一行命令搞定骨架:
mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=ma ven-archetype-quickstart -DinteractiveMode=false
接下来添加测试依赖。JUnit 5 是当前主流,在 pom.xml 中加入:
org.junit.jupiter:junit-jupiter-api:5.7.0(scope test)org.junit.jupiter:junit-jupiter-engine:5.7.0(scope test)如果你更习惯 JUnit 4,也可以用 junit:junit:4.13.2(scope test)。
代码写在哪?src/test/ja va 目录下。创建测试类,打上 @Test 注解,用 assertEquals 这类断言方法判断结果。运行测试时,Ma ven 执行 mvn test,报告会生成在 target/surefire-reports/ 里。想手动跑?用 JUnit 5 的 ConsoleLauncher:
ja va -cp "target/classes:target/test-classes:lib/*" org.junit.platform.console.ConsoleLauncher
覆盖率方面,如果团队有要求,可以引入 jacoco-ma ven-plugin,配置好 report 阶段就能生成漂亮的覆盖率报告。
单测通过只是第一步,集成测试才能真正暴露模块间的问题。选哪个框架?
@SpringBootTest、@MockBean 用起来非常顺手。实践中的一个小技巧:用 @Tag("integration") 标记集成测试,然后在 Ma ven 中通过 surefire(跑单元测试)和 failsafe(跑集成测试)分别执行。failsafe 绑定在 integration-test 和 verify 阶段,很合理。另外,测试数据尽量用内存数据库(如 H2)、嵌入式 Servlet 容器或 Testcontainers,这样每次运行环境一致,不会因为外部依赖的差异而莫名失败。
本地测试完,下一步是让 CI 替你跑。Jenkins 是经典方案:
sudo apt install jenkins,然后 sudo systemctl start jenkins。mvn clean test 或 mvn verify(后者会包含集成测试和报告归档)。构建报告同样要归档——surefire-reports/、覆盖率报告都存下来。如果团队有质量门禁要求,可以结合阈值或质量插件,不达标就不允许合入。
所有测试通过后,用 mvn package 打出一个 JAR 包(通常位于 target/)。但交付前,验收测试不能省。
验收测试的思路:在 CI 的 verify 阶段运行端到端或系统级测试。比如用 Docker 启动依赖服务(数据库、消息队列等),然后跑 API 测试(REST Assured 很好用)或 UI 测试。测试结果、日志和产物都归档,作为发布准入的依据。这一步做扎实了,上线才有底气。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8