阅读量:1
在 Debian 上测试 Java 应用的标准流程
一 环境准备与快速验证
- 安装 OpenJDK 11(或项目所需版本):
- 命令:
sudo apt update && sudo apt install openjdk-11-jdk -y
- 命令:
- 验证安装:
- 命令:
java -version、javac -version
- 命令:
- 可选配置 JAVA_HOME(Debian 仓库包通常已设置好,若需自定义可写入
~/.bashrc或/etc/environment):- 示例:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 - 使配置生效:
source ~/.bashrc或source /etc/environment
- 示例:
- 建议准备构建工具(任选其一):Maven 或 Gradle,便于依赖管理与标准化测试执行。
二 本地开发阶段测试
- 单元测试(JUnit 5)
- 添加依赖(Maven 示例,版本可按需调整):
org.junit.jupiter junit-jupiter-api 5.9.3 test org.junit.jupiter junit-jupiter-engine 5.9.3 test - 运行测试:
mvn test - 报告位置:
target/surefire-reports/(HTML/XML 报告,便于定位失败用例与耗时) - 覆盖率(JaCoCo):在
pom.xml集成 JaCoCo 插件,执行mvn test后查看target/site/jacoco/index.html
- 添加依赖(Maven 示例,版本可按需调整):
- 集成测试
- 常用组合:JUnit 5 + Mockito(隔离外部依赖),Spring Boot 项目可用 Spring Boot Test(上下文加载、事务回滚等)
- 微基准测试(JMH)
- 添加依赖(示例版本 1.37):
org.openjdk.jmh jmh-core 1.37 org.openjdk.jmh jmh-generator-annprocess 1.37 provided - 运行方式:执行
mvn clean install后运行生成的基准 jar:java -jar target/benchmarks.jar
- 添加依赖(示例版本 1.37):
- 调试测试
- 使用 IntelliJ IDEA 在测试方法中设置断点,右键选择 Debug 进行单步与变量观察。
三 系统级与性能测试
- 负载与压力测试
- Apache JMeter:适合 HTTP、JDBC 等多协议场景,可模拟并发用户与复杂链路
- 安装:
sudo apt install jmeter - 使用:创建测试计划(线程组、HTTP 请求等),运行后在聚合报告中查看 吞吐量、响应时间、错误率
- 安装:
- Gatling:高性能负载测试框架,基于 Scala/Java API,适合高并发 Web 场景
- Apache JMeter:适合 HTTP、JDBC 等多协议场景,可模拟并发用户与复杂链路
- 应用性能分析
- 使用 VisualVM、JProfiler、YourKit、Java Mission Control 观察 CPU、内存、线程、GC 等指标,定位性能瓶颈与内存泄漏。
四 在 Debian 上搭建自动化 CI/CD
- 安装 Jenkins
- 导入密钥与源并安装:
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - echo "deb http://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list sudo apt update sudo apt install jenkins sudo systemctl enable --now jenkins - 访问
http://<服务器IP>:8080,初始密码路径:/var/lib/jenkins/secrets/initialAdminPassword
- 导入密钥与源并安装:
- 必要插件
- Git、Maven Integration、Pipeline、JUnit、JaCoCo
- 示例 Jenkinsfile(Maven 项目)
pipeline { agent any stages { stage('Checkout') { steps { git 'https://github.com/your-repo/your-java-project.git' } } stage('Build') { steps { sh 'mvn clean package' } } stage('Test') { steps { sh 'mvn test' } post { always { junit 'target/surefire-reports/*.xml' } } } stage('Coverage') { steps { sh 'mvn jacoco:report' } post { always { publishHTML(target: [ reportDir: 'target/site/jacoco', reportFiles: 'index.html', reportName: 'Code Coverage' ]) } } } } post { failure { mail to: 'team@example.com', subject: "构建失败: ${currentBuild.fullDisplayName}", body: "请检查构建日志" } } } - 触发与查看
- 在 Jenkins 中新建 Pipeline,选择 “Pipeline script from SCM”,指向含 Jenkinsfile 的仓库;点击 Build Now 查看测试通过率与覆盖率报告。
以上就是关于“Debian Java应用如何测试”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm