小编Dim*_*tra的帖子

Golang 模拟上下文恐慌

所以我使用嘲笑作证在 golang 中进行单元测试

测试代码是这样的:

const bufSize = 1024 * 1024

var lis *bufconn.Listener

var mockAccountService = &mocks.AccountService{}

func init() {
    lis = bufconn.Listen(bufSize)
    s := grpc.NewServer()
    RegisterAccountManagementHandlerServer(s, &server{mockAccountService})
    go func() {
        if err := s.Serve(lis); err != nil {
            log.Fatalf("Server exited with error: %v", err)
        }
    }()
}

func bufDialer(context.Context, string) (net.Conn, error) {
    return lis.Dial()
}

func TestSayHello(t *testing.T) {

    var a uint64 = 1

    ctx := context.Background()

    conn, err := grpc.DialContext(ctx, "bufnet", grpc.WithContextDialer(bufDialer), grpc.WithInsecure())
    if …
Run Code Online (Sandbox Code Playgroud)

unit-testing go mockery testify

6
推荐指数
1
解决办法
8930
查看次数

标签 统计

go ×1

mockery ×1

testify ×1

unit-testing ×1