获取 GORM 数据库连接,用于测试 GORM 版本的 MessageTracker。
func getGormDB() (*gorm.DB, error)获取 Sqlx 数据库连接,用于测试 Sqlx 版本的 MessageTracker。
func getSqlxDB() (*sqlx.DB, error)获取 SqlxPlus 数据库连接和日志器,用于测试 SqlxPlus 版本的 MessageTracker。
func getSqlxPlusDB() (*sqlx.DB, sqlxplus.Logger, error)默认连接参数:
- Host: 127.0.0.1:3306
- Username: root
- Password: test123
- Database: outbox
- Charset: utf8
- ParseTime: True
- Location: Local
go test -v -run MessageTracker# Redis 版本
go test -v -run TestRedisMessageTracker
# GORM 版本
go test -v -run TestGormMessageTracker
# Sqlx 版本
go test -v -run TestSqlxMessageTracker
# SqlxPlus 版本
go test -v -run TestSqlxPlusMessageTracker- 测试需要连接到 MySQL 数据库,如果数据库未配置或无法连接,测试会自动跳过(SKIP)
- Redis 测试需要 Redis 服务运行在 127.0.0.1:6379
- 所有数据库版本的测试都会自动创建
outbox_processed_message表 - 测试使用 Snowflake 算法生成唯一的消息 ID