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:
39
internal/server/server_test.go
Normal file
39
internal/server/server_test.go
Normal 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")) // 首字母大写不匹配
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user