# 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 Logo

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