package router import ( "testing" ctxpkg "github.com/noahlann/nnet/pkg/context" "github.com/stretchr/testify/assert" ) func TestRouterGroup(t *testing.T) { router := NewRouter() group := router.Group() assert.NotNil(t, group, "Expected group to be non-nil") } func TestRouterGroupWithPrefix(t *testing.T) { router := NewRouter() group := router.Group().(*routerGroup) group.prefix = "/api" handler := func(ctx ctxpkg.Context) error { return nil } route := group.RegisterString("/test", handler) assert.NotNil(t, route, "Expected route to be non-nil") // 测试前缀 assert.Equal(t, "/api", group.Prefix(), "Expected prefix to be /api") } func TestRouterGroupWithMiddleware(t *testing.T) { router := NewRouter() middleware := func(ctx ctxpkg.Context) error { return nil } group := router.Group() group.Use(middleware) handler := func(ctx ctxpkg.Context) error { return nil } route := group.RegisterString("/test", handler) assert.NotNil(t, route, "Expected route to be non-nil") // 测试route的Handler方法(应该包含middleware) routeHandler := route.Handler() assert.NotNil(t, routeHandler, "Expected handler to be non-nil") }