55"context"
66"fmt"
77"go.uber.org/zap"
8+ "strconv"
89"testing"
910"time"
1011
@@ -72,18 +73,18 @@ var (
7273func TestGrpcTask (t * testing.T ) {
7374
7475for i , d := range datas {
75- call := grpcrun .NewGrpc (& d .ctx , d .method , d .req )
76- call .GrpcTask ()
76+ call := grpcrun .NewGrpcTask (& d .ctx , "test{" + strconv . Itoa ( i ) + "}" , d .method , d .req )
77+ call .Call ()
7778
7879t .Logf ("第 %d 次执行\n " , i + 1 )
7980if call .Err != nil {
8081fmt .Println (call .Err )
8182fmt .Println ()
8283continue
8384}
84- //if should.NoError(call.Err) {
85+ // if should.NoError(call.Err) {
8586// fmt.Println(call.Response.(*loginResp))
86- //}
87+ // }
8788fmt .Println (call .Response .(* loginResp ))
8889fmt .Println ()
8990
@@ -107,17 +108,43 @@ func init() {
107108
108109// 测试表格
109110datas = []* data {
110- newData (ctx , Login , req ), // 正常
111- newData (ctx , Login1 , req ), // [grpcMethod]必须有2个参数(context.Context, *request)
112- newData (ctx , Login2 , req ), // [grpcMethod]的第1个参数必须是:context.Context
113- newData (ctx , Login3 , req ), // [grpcMethod]必须有2个返回值(*Response, error)
114- newData (ctx , Login4 , req ), // [grpcMethod]的第2个返回值必须是:error
115- newData (nil , Login , req ), // 请正确的传递[Context],不支持:nil
116- newData (ctx , nil , req ), // [grpcMethod]必须是一个GRPC的函数类型,现在是:invalid
117- newData (ctx , Login , nil ), // 请正确的传递[request],不支持:invalid
118- newData (ctx , "其他类型" , req ), // [grpcMethod]必须是一个GRPC的函数类型,现在是:string
119- newData (ctx , Login , "其他类型" ), // 请正确的传入[request],不支持:string
120- newData (ctx , Login , zap .S ()), // [request]的参数与[grpcMethod]的参数不匹配:grpcMethod = v3_test.loginReq, request = zap.SugaredLogger
111+ newData (ctx , Login , req ), // 正常
112+ newData (ctx , Login1 , req ), // [grpcMethod]必须有2个参数(context.Context, *request)
113+ newData (ctx , Login2 , req ), // [grpcMethod]的第1个参数必须是:context.Context
114+ newData (ctx , Login3 , req ), // [grpcMethod]必须有2个返回值(*Response, error)
115+ newData (ctx , Login4 , req ), // [grpcMethod]的第2个返回值必须是:error
116+ newData (nil , Login , req ), // 请正确的传递[Context],不支持:nil
117+ newData (ctx , nil , req ), // [grpcMethod]必须是一个GRPC的函数类型,现在是:invalid
118+ newData (ctx , Login , nil ), // 请正确的传递[request],不支持:invalid
119+ newData (ctx , "其他类型" , req ), // [grpcMethod]必须是一个GRPC的函数类型,现在是:string
120+ newData (ctx , Login , "其他类型" ), // 请正确的传入[request],不支持:string
121+ newData (ctx , Login , zap .S ()), // [request]的参数与[grpcMethod]的参数不匹配:grpcMethod = v3_test.loginReq, request = zap.SugaredLogger
121122
122123}
123124}
125+
126+ func TestGoGrpc_AddNewTask (t * testing.T ) {
127+ run := grpcrun .NewGoGrpc ()
128+ for i , d := range datas {
129+ run .AddNewTask ("test{" + strconv .Itoa (i )+ "}" , d .method , d .req )
130+ }
131+ }
132+
133+ func TestGoGrpc_Run (t * testing.T ) {
134+ run := grpcrun .NewGoGrpc ()
135+ for i , d := range datas {
136+ run .AddNewTask ("test{" + strconv .Itoa (i )+ "}" , d .method , d .req )
137+ }
138+ run .Run ()
139+ run .Wait ()
140+
141+ for _ , t := range run .Task {
142+ if t .Err != nil {
143+ fmt .Println (t .Err )
144+ fmt .Println ()
145+ continue
146+ }
147+ fmt .Println (t .Response .(* loginResp ))
148+ fmt .Println ()
149+ }
150+ }
0 commit comments