args args wantOk bool wantErr error }{ { name: "paid", args: args{...}, wantOk: true, wantErr: nil, }, { name: "notpaid", args: args{...}, wantOk: false, wantErr: nil, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { ctrl := gomock.NewController(t) defer ctrl.Finish() orderModel := getOrderModel(t, ctrl, tt.arg paymentModel := getPaymentModel(t, ctrl, tt gotOk, err := IsOrderPaid(orderModel, payme ... }) } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 args args func TestIsOrderPaid(t *testing.T) { 1 tests := []struct { 2 name string 3 4 wantOk bool 5 wantErr error 6 }{ 7 { 8 name: "paid", 9 args: args{...}, 10 wantOk: true, 11 wantErr: nil, 12 }, 13 { 14 name: "notpaid", 15 args: args{...}, 16 wantOk: false, 17 wantErr: nil, 18 }, 19 } 20 for _, tt := range tests { 21 t.Run(tt.name, func(t *testing.T) { 22 ctrl := gomock.NewController(t) 23 defer ctrl.Finish() 24 25 orderModel := getOrderModel(t, ctrl, tt.arg 26 paymentModel := getPaymentModel(t, ctrl, tt 27 28 gotOk, err := IsOrderPaid(orderModel, payme 29 ... 30 }) 31 } 32 } 33 { name: "paid", args: args{...}, wantOk: true, wantErr: nil, }, { name: "notpaid", args: args{...}, wantOk: false, wantErr: nil, }, func TestIsOrderPaid(t *testing.T) { 1 tests := []struct { 2 name string 3 args args 4 wantOk bool 5 wantErr error 6 }{ 7 8 9 10 11 12 13 14 15 16 17 18 19 } 20 for _, tt := range tests { 21 t.Run(tt.name, func(t *testing.T) { 22 ctrl := gomock.NewController(t) 23 defer ctrl.Finish() 24 25 orderModel := getOrderModel(t, ctrl, tt.arg 26 paymentModel := getPaymentModel(t, ctrl, tt 27 28 gotOk, err := IsOrderPaid(orderModel, payme 29 ... 30 }) 31 } 32 } 33 ctrl := gomock.NewController(t) defer ctrl.Finish() func TestIsOrderPaid(t *testing.T) { 1 tests := []struct { 2 name string 3 args args 4 wantOk bool 5 wantErr error 6 }{ 7 { 8 name: "paid", 9 args: args{...}, 10 wantOk: true, 11 wantErr: nil, 12 }, 13 { 14 name: "notpaid", 15 args: args{...}, 16 wantOk: false, 17 wantErr: nil, 18 }, 19 } 20 for _, tt := range tests { 21 t.Run(tt.name, func(t *testing.T) { 22 23 24 25 orderModel := getOrderModel(t, ctrl, tt.arg 26 paymentModel := getPaymentModel(t, ctrl, tt 27 28 gotOk, err := IsOrderPaid(orderModel, payme 29 ... 30 }) 31 } 32 } 33 orderModel := getOrderModel(t, ctrl, tt.arg paymentModel := getPaymentModel(t, ctrl, tt gotOk, err := IsOrderPaid(orderModel, payme func TestIsOrderPaid(t *testing.T) { 1 tests := []struct { 2 name string 3 args args 4 wantOk bool 5 wantErr error 6 }{ 7 { 8 name: "paid", 9 args: args{...}, 10 wantOk: true, 11 wantErr: nil, 12 }, 13 { 14 name: "notpaid", 15 args: args{...}, 16 wantOk: false, 17 wantErr: nil, 18 }, 19 } 20 for _, tt := range tests { 21 t.Run(tt.name, func(t *testing.T) { 22 ctrl := gomock.NewController(t) 23 defer ctrl.Finish() 24 25 26 27 28 29 ... 30 }) 31 } 32 } 33 type args struct { orderID string order Order orderErr error paymentID string payment Payment paymentErr error } 1 2 3 4 5 6 7 8 9 func getOrderModel(c *gomock.Controller, args args) Or orderModel := automocks.NewMockOrderModel(c) orderModel.EXPECT(). GetOrderByID(args.orderID). Return(args.order, args.orderErr). Times(1) return orderModel } 1 2 3 4 5 6 7 8