Модульное тестирование tls.LoadX509KeyPair завершается ошибкой, если сертификаты не предоставлены - PullRequest
0 голосов
/ 07 марта 2019
cert, err := tls.LoadX509KeyPair(os.Getenv("CERT"), os.Getenv("KEY"))
if err != nil {
    return err
}

Я хочу написать модульный тест для функции, содержащей этот фрагмент кода.Однако в моей тестовой среде никогда не будет содержимого в os.Getenv("CERT") / os.Getenv("KEY").Это заставляет код (tls.LoadX509KeyPair()) возвращать ошибку, что не позволяет мне проверить функцию.Как мне начать насмехаться / модифицировать этот фрагмент?

1 Ответ

0 голосов
/ 08 марта 2019

Это работает, определяя переменные для certFile и keyFile и затем переопределяя их в тестовой среде.

//.. 
var certFile = os.Getenv("CERT")
var keyFile = os.Getenv("KEY")
//...
cert, err := tls.LoadX509KeyPair(certFile, keyFile)
  if err != nil {
     return err
  }

Перейдите по ссылке ниже, чтобы увидеть, как переопределить переменные в тестовой среде., В Go, как получить тестовую среду во время выполнения?

...