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

cert, err := tls.LoadX509KeyPair(os.Getenv("CERT"), os.Getenv("KEY"))

if err != nil {

    return err

}

我想为包含这段代码的函数编写单元测试。但是,我的测试环境中永远不会有任何内容os.Getenv("CERT")/ os.Getenv("KEY")。这使得 code( tls.LoadX509KeyPair()) 返回一个错误,不允许我测试该函数。我应该如何模拟/修改此代码段?


www说
浏览 183回答 1
1回答

智慧大石

这通过为certFile和keyFile然后在测试环境中覆盖它们来定义变量。//.. var certFile = os.Getenv("CERT")var keyFile = os.Getenv("KEY")//...cert, err := tls.LoadX509KeyPair(certFile, keyFile)  if err != nil {     return err  }按照以下链接查看如何覆盖测试环境中的变量。 在Go中,如何在运行时获取测试环境?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go