package url import "testing" func TestCreate(t *testing.T) { type args struct { opts []Option } tests := []struct { name string args args want string }{ {"1", args{opts: []Option{WithHost("baidu.com")}}, "https://baidu.com"}, {"2", args{opts: []Option{WithSchema("http"), WithHost("baidu.com")}}, "http://baidu.com"}, {"3", args{opts: []Option{WithSchema("http"), WithHost("baidu.com"), WithPath("/cgi-bin")}}, "http://baidu.com/cgi-bin"}, {"4", args{opts: []Option{WithSchema("http"), WithHost("baidu.com"), WithParams(map[string]string{"a": "b"})}}, "http://baidu.com?a=b"}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := Create(tt.args.opts...); got != tt.want { t.Errorf("Create() = %v, want %v", got, tt.want) } }) } }