- 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%
40 lines
1.0 KiB
Go
40 lines
1.0 KiB
Go
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")) // 首字母大写不匹配
|
|
}
|