test: add server package tests

- Add resolveGinMode tests (debug, test, release, default modes)
- Add case sensitivity tests for mode resolution
- Server package coverage: 0% -> 3.2%
- Overall coverage: 54.2% -> 54.3%
This commit is contained in:
Your Name
2026-05-29 16:04:40 +08:00
parent ffcd820fed
commit 6351271f2d

View File

@@ -0,0 +1,39 @@
package server
import (
"testing"
"github.com/gin-gonic/gin"
"github.com/stretchr/testify/assert"
)
// TestResolveGinMode 测试 Gin 模式解析
func TestResolveGinMode(t *testing.T) {
tests := []struct {
name string
mode string
expected string
}{
{"debug", "debug", gin.DebugMode},
{"test", "test", gin.TestMode},
{"release", "release", gin.ReleaseMode},
{"empty", "", gin.ReleaseMode},
{"invalid", "invalid", gin.ReleaseMode},
{"other", "other", gin.ReleaseMode},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got := resolveGinMode(tt.mode)
assert.Equal(t, tt.expected, got)
})
}
}
// TestResolveGinMode_CaseSensitivity 测试大小写敏感性
func TestResolveGinMode_CaseSensitivity(t *testing.T) {
// 函数是区分大小写的
assert.Equal(t, gin.DebugMode, resolveGinMode("debug"))
assert.Equal(t, gin.ReleaseMode, resolveGinMode("DEBUG")) // 大写不匹配
assert.Equal(t, gin.ReleaseMode, resolveGinMode("Debug")) // 首字母大写不匹配
}