# task-message-test **Repository Path**: superxcy/task-message-test ## Basic Information - **Project Name**: task-message-test - **Description**: 任务消息组件测试项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-06 - **Last Updated**: 2026-03-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: 任务消息 ## README # task-message-test 测试项目 ## 项目简介 `task-message-test` 是一个测试项目,用于测试 `task-message` 框架的功能。该项目演示了如何使用 `task-message` 框架发布和处理任务消息,验证框架的核心功能是否正常工作。 ## 目录结构 ``` task-message-test/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/sky/task/ │ │ │ └── TaskMessageTestApplication.java # 应用主类 │ │ └── resources/ │ │ ├── application.yml # 应用配置 │ │ ├── application-dev.yml # 开发环境配置 │ │ └── logback-spring.xml # 日志配置 │ └── test/ │ └── java/ │ └── com/sky/task/ │ └── ApiTest.java # 测试类 ├── data/ │ └── log/ # 日志目录 ├── .gitignore ├── pom.xml # Maven 依赖 └── ReadMe.md # 项目说明 ``` ## 测试内容 该项目包含以下测试: 1. **测试任务消息发布**:验证 `TaskMessageEventPublisher` 能够正确发布任务消息事件 2. **测试任务消息处理**:验证 `TaskMessageHandler` 能够正确处理任务消息 ## 快速开始 ### 1. 依赖引入 项目已在 `pom.xml` 中引入了 `task-message` 依赖: ```xml com.sky.task task-message 1.0.0 ``` ### 2. 配置说明 - **application.yml**:主配置文件,包含应用基本配置 - **application-dev.yml**:开发环境配置,可覆盖主配置文件中的配置 - **logback-spring.xml**:日志配置,指定日志输出格式和位置 ### 3. 运行测试 #### 3.1 运行单个测试方法 可以通过 IDE 运行 `ApiTest` 类中的单个测试方法: - `testPublisher()`:测试任务消息发布功能 - `testHandler()`:测试任务消息处理功能 #### 3.2 运行所有测试 使用 Maven 命令运行所有测试: ```bash mvn test ``` ### 4. 查看日志 测试运行后,日志会输出到以下位置: - **控制台**:实时输出测试过程中的日志 - **data/log/** 目录**:保存的日志文件 ## 测试代码说明 ### ApiTest 类 ```java @Slf4j @RunWith(SpringRunner.class) @SpringBootTest public class ApiTest { @Resource private TaskMessageEventPublisher publisher; @Test public void testPublisher() throws InterruptedException { TaskMessage taskMessage = new TaskMessage(); taskMessage.setTaskId("100001"); taskMessage.setTaskName("测试任务"); publisher.publishEvent(taskMessage); new CountDownLatch(1).await(); } @Resource private TaskMessageHandler handler; @Test public void testHandler() throws InterruptedException { TaskMessage taskMessage = new TaskMessage(); taskMessage.setTaskId("100001"); taskMessage.setTaskName("测试任务"); handler.handleTaskMessage(taskMessage); new CountDownLatch(1).await(); } } ``` ## 预期测试结果 ### 测试任务消息发布 运行 `testPublisher()` 方法后,控制台应输出类似以下日志: ``` INFO c.s.task.listener.TaskMessageEventListener - 收到任务消息事件 - 消息内容: TaskMessage(taskId=100001, taskName=测试任务), 事件时间戳: 1678000000000 ``` ### 测试任务消息处理 运行 `testHandler()` 方法后,应执行自定义的 `TaskMessageHandler` 实现中的逻辑。 ## 注意事项 1. 确保 `task-message` 框架已正确安装或已在本地 Maven 仓库中 2. 测试过程中,`CountDownLatch(1).await()` 会使测试线程一直阻塞,需要手动停止测试 3. 可以通过修改 `TaskMessage` 对象的属性,测试不同的任务消息内容 4. 可以通过实现自定义的 `TaskMessageHandler` 接口,测试不同的任务消息处理逻辑 ## 依赖说明 - **Spring Boot**:2.0+ 版本 - **JUnit**:用于单元测试 - **task-message**:待测试的框架 ## 版本历史 - 1.0.0:初始版本,实现基本的测试功能 ## 许可证 MIT License