jjzjj

go - 如果未提供证书,单元测试 tls.LoadX509KeyPair 将失败

cert,err:=tls.LoadX509KeyPair(os.Getenv("CERT"),os.Getenv("KEY"))iferr!=nil{returnerr}我想为包含这段代码的函数编写单元测试。但是,我的测试环境永远不会有os.Getenv("CERT")/os.Getenv("KEY")中的任何内容。这使得代码(tls.LoadX509KeyPair())返回一个错误,这不允许我测试函数。我应该如何模拟/修改此代码段? 最佳答案 这通过为certFile和keyFile定义变量然后在测试环境中覆盖它们来实现。//.

golang : tls. LoadX509KeyPair 关闭 net.Conn?

packagemainimport("crypto/tls""fmt""log""net")funcmain(){ln,err:=net.Listen("tcp",":12345")iferr!=nil{log.Fatal(err)}for{c,err:=ln.Accept()iferr!=nil{log.Fatal(err)}fmt.Println(c)tls.LoadX509KeyPair("cert.pem","key.pem")//createdbyhttp://golang.org/src/pkg/crypto/tls/generate_cert.go}}编译并运行这个程序(

golang : tls. LoadX509KeyPair 关闭 net.Conn?

packagemainimport("crypto/tls""fmt""log""net")funcmain(){ln,err:=net.Listen("tcp",":12345")iferr!=nil{log.Fatal(err)}for{c,err:=ln.Accept()iferr!=nil{log.Fatal(err)}fmt.Println(c)tls.LoadX509KeyPair("cert.pem","key.pem")//createdbyhttp://golang.org/src/pkg/crypto/tls/generate_cert.go}}编译并运行这个程序(