Skip to content

Latest commit

 

History

History
64 lines (47 loc) · 1.39 KB

File metadata and controls

64 lines (47 loc) · 1.39 KB

MessageTracker 测试说明

测试辅助函数

getGormDB()

获取 GORM 数据库连接,用于测试 GORM 版本的 MessageTracker。

func getGormDB() (*gorm.DB, error)

getSqlxDB()

获取 Sqlx 数据库连接,用于测试 Sqlx 版本的 MessageTracker。

func getSqlxDB() (*sqlx.DB, error)

getSqlxPlusDB()

获取 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

运行测试

运行所有 MessageTracker 测试

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

注意事项

  1. 测试需要连接到 MySQL 数据库,如果数据库未配置或无法连接,测试会自动跳过(SKIP)
  2. Redis 测试需要 Redis 服务运行在 127.0.0.1:6379
  3. 所有数据库版本的测试都会自动创建 outbox_processed_message
  4. 测试使用 Snowflake 算法生成唯一的消息 ID