# jtest精准测试平台
**Repository Path**: chen_zai_xing/jtest
## Basic Information
- **Project Name**: jtest精准测试平台
- **Description**: jtest精准测试平台
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 34
- **Forks**: 20
- **Created**: 2024-09-06
- **Last Updated**: 2025-08-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Jtest 精准测试平台
Jtest v1.0.0 - 专注于代码覆盖率的精准测试平台
## 项目简介
在公司内部开发覆盖率工具时,发现市面上缺乏现成的精准测试平台,因此自主开发了Jtest并开源,旨在为有类似需求的开发者提供便利。
- 支持二次开发,可根据企业需求深度定制专属版本;
- 提供定制化服务,如需扩展功能可联系作者沟通。
## 技术架构
Jtest 基于以下技术栈构建,确保稳定性与扩展性:
- 基础框架:若依4.7.9(前后端不分离版本)
- 增量代码对比:集成 ray 佬的 code-diff 模块
- 覆盖率统计:基于 Jacoco 实现核心覆盖率计算
- 覆盖率合并:依赖自研的 Jacoco 增强工具(支持不同 classId 合并)
## 核心功能
### 1. 环境配置
**功能概述**:配置环境信息后,可一键生成全量/增量覆盖率报告,简化测试流程。
**核心特性**:
- 支持 Git、SVN 仓库,兼容同分支/跨分支配置;
- 需指定源码与 class 文件的相对路径(根路径为仓库下载目录),可根据企业项目特点自定义改造。
**注意事项**:
- 由于源码与 class 文件的不确定性(如编译后 classId 与运行时不一致可能导致覆盖率获取失败),可通过以下方式解决:
- 手动将运行时 class 文件放入配置路径;
- 修改开源 agent 中远程下载 jar 包的逻辑;
- 联系作者定制适配企业场景的解决方案。
### 2. 报告管理
**功能概述**:提供覆盖率报告的查看与合并能力,解决多场景下的覆盖率统计问题。
**核心特性**:
- 支持单报告查看与多报告合并;
- 依赖自研的 Jacoco 增强工具([jacoco 开源项目](https://gitee.com/chen_zai_xing/jacoco)),实现不同 classId 的覆盖率合并,突破原生 Jacoco 限制。
## 部署指南
### 前置准备
1. **数据库配置**:在目标数据库中执行以下 SQL 文件:
- `sql/Jtest_20240906.sql`
- `sql/quartz.sql`
### 部署方式
#### 方式 1:源码编译部署
- 克隆源码后,自行编译项目,生成可执行 jar 包。
#### 方式 2:发布版快速部署
1. 从发布页下载编译好的 jar 包;
2. 修改配置:
- 用压缩工具(如 360 压缩、7-Zip 等)打开 jar 包,编辑 `application.yml`:
- 配置数据库连接地址;
- 指定 maven 目录(用于代码编译);
- 替换修改后的配置文件到 jar 包中。
### 启动与访问
- 启动:运行 `Jtest.bat`(Windows)或 `Jtest.sh`(Linux);
- 默认端口:8090;
- 访问地址:`localhost:8090`;
- 默认账号密码:`admin/admin123`。
环境配置说明:
1.起始版本为 diff 的起始版本,可填写提交的 commitId、分支(Git),或版本号、分支(SVN)。
2.源码相对路径和 Class 文件相对路径默认值为相对路径src/java/main。
若为多模块项目(如以下结构):

报告执行时,代码会从仓库拉取至仓库 root 目录下。
如需统计模块A的覆盖率,源码相对路径配置为/模块A/src/java/main,Class 文件路径配置为/模块A/target(代码编译相对路径)。
如需同时统计模块 B 的覆盖率,多个模块配置以逗号隔开即可,支持多模块配置。
## 未来规划
Jtest 新版本正在开发中,将新增以下核心功能:
- 多维度覆盖率统计(按需求、bug、开发者、版本等);
- 定时任务自动合并覆盖率报告;
- 提供 OpenAPI 接口,支持集成第三方系统;
- 用例智能推荐功能;
- 兼容 SkyWalking 链路追踪,增强测试分析能力。
## 支持与赞助
开源不易,若 Jtest 对您的工作有帮助,欢迎通过赞助支持项目持续开发(如请作者喝杯咖啡~)。
感谢您的使用与支持!

