# test_data_generator **Repository Path**: celer/test_data_generator ## Basic Information - **Project Name**: test_data_generator - **Description**: 测试数据生成器,用于开发测试生成测试数据。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2024-07-29 - **Last Updated**: 2026-02-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TestDataGenerator > 一个测试数据生成工具,支持Web服务、桌面应用和API调用 [![Java](https://img.shields.io/badge/Java-17-orange)](https://openjdk.org/projects/jdk/17/) [![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.3.6-green)](https://spring.io/projects/spring-boot) [![JavaFX](https://img.shields.io/badge/JavaFX-21.0.6-blue)](https://openjfx.io/) [![Maven](https://img.shields.io/badge/Maven-3.8%2B-red)](https://maven.apache.org/) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) ## 简介 TestDataGenerator 是一个用于生成各种测试数据的工具,主要用于开发和测试过程中快速生成符合规则的中国地区个人信息、公司信息等测试数据。 ### 主要特性 - **个人信息生成**:姓名、身份证号、手机号、邮箱、银行卡号等 - **公司信息生成**:公司名称、统一社会信用代码、联系人信息等 - **多种使用方式**: - 🌐 Web服务:提供RESTful API接口 - 🖥️ 桌面应用:基于JavaFX的图形界面 - 📦 库依赖:作为Maven依赖直接调用 - **真实数据模拟**:支持真实的中国地区、姓名、身份证等数据格式 ## 技术栈 | 模块 | 技术栈 | |-----------------------------|----------------------------------------------------| | 核心模块 (data_generator_base) | Java 17, MapStruct, Hutool, Jackson, common-random | | Web模块 (data_generator_web) | Spring Boot 3.3.6, Spring Web MVC | | 桌面模块 (data_generator_swing) | JavaFX 21, ControlsFX, BootstrapFX | ## 项目结构 ``` testDataGenerator ├── data_generator_base # 核心模块 │ └── 提供数据生成的核心逻辑和公共组件 │ ├── generator/ # 数据生成器 │ ├── randomobj/ # 数据模型 │ └── util/ # 工具类 ├── data_generator_web # Web模块 │ └── 提供HTTP REST接口服务 │ └── DataGeneratorWebApplication └── data_generator_swing # 桌面应用模块 └── 提供JavaFX图形界面 └── HelloApplication ``` ## 模块依赖关系 ``` data_generator_web ──┐ ├──> data_generator_base data_generator_swing──┘ ``` ## 环境要求 - **JDK**: 17 或更高版本 - **Maven**: 3.8+ - **内存**: 至少 512MB ## 快速开始 ### 1. 克隆项目 ```bash git clone https://github.com/your-username/test_data_generator.git cd test_data_generator ``` ### 2. 构建项目 ```bash # 构建所有模块 mvn clean install # 或者跳过测试 mvn clean install -DskipTests ``` ### 3. 运行方式 #### 方式一:运行Web服务 ```bash cd data_generator_web mvn spring-boot:run ``` 服务启动后,访问:`http://localhost:8080` #### 方式二:运行桌面应用 ```bash cd data_generator_swing mvn javafx:run ``` 或者直接运行打包后的jar: ```bash java -jar data_generator_swing/target/data_generator_swing-1.0-SNAPSHOT-jar-with-dependencies.jar ``` ## 使用说明 ### Web API 使用示例 ```bash # 生成个人信息 curl http://localhost:8080/api/person # 生成公司信息 curl http://localhost:8080/api/company # 批量生成(如果支持) curl http://localhost:8080/api/persons?count=10 ``` ### 代码集成示例 在你的项目中添加依赖: ```xml com.celer data_generator_base 1.0-SNAPSHOT ``` 然后在代码中调用: ```java import com.celer.generator.PersonGenerator; import com.celer.generator.CompanyGenerator; import com.celer.randomobj.Person; import com.celer.randomobj.Company; // 生成个人信息 Person person = Person.builder().build(); PersonGenerator. generatePerson(person); System.out. println(person); // 生成公司信息 Company company = Company.builder().build(); CompanyGenerator. generateCompany(company); System.out. println(company); ``` ### 桌面应用使用 1. 启动桌面应用 2. 选择数据类型(个人信息/公司信息) 3. 点击"生成"按钮 4. 查看或导出生成的数据 ## 开发指南 ### IDE配置 推荐使用 IntelliJ IDEA: 1. 导入项目:`File` → `Open` → 选择项目根目录 2. 等待Maven依赖下载完成 3. 配置JDK为17 ### 代码规范 - 遵循阿里巴巴Java开发手册 - 使用Lombok简化代码 - 使用MapStruct进行对象转换 ### 运行测试 ```bash # 运行所有测试 mvn test # 运行特定模块测试 mvn test -pl data_generator_base ``` ## 配置说明 ### Web端口配置 编辑 `data_generator_web/src/main/resources/application.properties`: ```properties server.port=8080 ``` ### 日志配置 日志使用Log4j2,配置文件位于:`src/main/resources/log4j2.xml` ## 功能展示 ### 支持的数据类型 #### 个人信息 - 姓名(支持男女姓名) - 性别 - 年龄 - 身份证号(符合真实规则) - 手机号 - 邮箱 - 银行卡号 - 地区信息(省/市/区) #### 公司信息 - 公司名称 - 统一社会信用代码 - 联系电话 - 经济类别 - 银行账号 - 邮箱 - 联系人信息(完整个人信息) ## 常见问题 ### Q: Maven构建失败? A: 请确保: - JDK版本为17或更高 - Maven版本为3.8+ - 网络连接正常(需要下载依赖) ### Q: Web服务启动失败? A: 检查端口8080是否被占用,可以在`application.properties`中修改端口。 ### Q: 桌面应用无法启动? A: 确保系统已安装JavaFX运行时环境,或使用打包好的jar文件。 ## 贡献指南 欢迎提交Issue和Pull Request! 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request ## 版本历史 - **1.0-SNAPSHOT** (当前版本) - 初始版本发布 - 支持个人信息和公司信息生成 - 提供Web服务和桌面应用 ## 许可证 本项目采用 [Apache License 2.0](LICENSE) 许可证。 ## 作者 Celer ## 致谢 - [common-random](https://github.com/yindz/common-random) - 随机数据生成库 - [Hutool](https://hutool.cn/) - Java工具类库 - [Spring Boot](https://spring.io/projects/spring-boot) - Spring框架 - [JavaFX](https://openjfx.io/) - Java客户端应用平台 --- 如果这个项目对你有帮助,请给一个 ⭐️ 支持一下!