task/TEST.md

49 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

# Test Report
2026-05-10 21:19:30 +08:00
## v1.5.7 验证
- `go test -v ./...`:通过;在临时标准 Redis 8.8 实例上覆盖任务调度、运行控制和可靠队列行为,测试后已关闭实例。
- `go test -bench=. ./...`:通过;`BenchmarkTaskRegistration-16``138.8 ns/op`Task Get/List 分别为 `7.614 ns/op``67.71 ns/op`Apple M3 Max
- 队列测试验证 processing 恢复、批量 Fetch/Finish、compatibility marker 不残留,以及 Sorted Set 延迟任务只在到期后提升;同一组测试已在未修改的 SugarDB 实例上通过。
- 现有调度测试覆盖对象级 Enable/Disable包级 `Enable`/`Disable` 和运行级 Logger 传导已通过编译与 master 集成,尚缺独立单元测试。
- `git diff --check`:通过。
## v1.5.6 验证
- 独立模块解析、全量测试与基准测试均通过。
## Environment
- **Date**: 2026-06-22
- **Go Version**: go 1.25.0
- **OS**: darwin/amd64
2026-05-10 21:19:30 +08:00
## Summary
| Test Case | Status | Duration |
|-----------|--------|----------|
| TestTaskBasic | PASS | 2.50s |
| TestTaskLifecycle | PASS | 4.00s |
| TestTaskPolicySkip | PASS | 3.50s |
| TestTaskTimeout | PASS | 2.50s |
| TestTaskPanicRecover | PASS | 2.50s |
| TestTaskManualRun | PASS | 0.20s |
| TestGracefulStop | PASS | 1.00s |
2026-05-10 21:19:30 +08:00
## Benchmarks
| Benchmark | Iterations | ns/op |
|-----------|------------|-------|
| BenchmarkTaskRegistration | 3664093 | 318.1 |
| BenchmarkTaskExecutionOverhead/Get | 52381898 | 26.07 |
| BenchmarkTaskExecutionOverhead/List | 10123669 | 116.2 |
2026-05-10 21:19:30 +08:00
## Details
2026-05-10 21:19:30 +08:00
### TestGracefulStop
Successfully verified that the scheduler waits for running tasks to complete during `Stop(ctx)` using manual triggers for higher reliability.
2026-05-10 21:19:30 +08:00
### TestTaskPanicRecover
Verified that the scheduler remains operational and continues to schedule tasks even if a specific task panics, with full stack trace logging.
### TestTaskTimeout
Verified that the task-specific `context.Context` is correctly cancelled when the configured timeout is exceeded.
## Conclusion
All 7 test cases passed. The implementation of the `Service` interface is robust and optimized for performance.