Функция testing.Verbose

Функция testing.Verbose возвращает true, если тесты запущены с флагом -test.v (или -v при использовании команды go test). Это позволяет выводить дополнительную информацию только при запуске в подробном режиме.

Функция не принимает параметров и возвращает логическое значение: true для подробного режима, false для обычного.

Синтаксис

gotesting.Verbose()

Пример

Давайте проверим работу функции в тесте, запустив его с флагом -v и без него:

gopackage main

import (
  "testing"
  "fmt"
)

func TestVerbose(t *testing.T) {
  if testing.Verbose() {
    fmt.Println("Подробный режим включен")
  } else {
    fmt.Println("Обычный режим")
  }
}

Результат выполнения кода без флага:

go"Обычный режим"

Результат выполнения кода с флагом -v:

go"Подробный режим включен"

Пример

Использование testing.Verbose для вывода дополнительной отладочной информации:

gopackage main

import (
  "testing"
  "fmt"
)

func TestWithDebug(t *testing.T) {
  data := []int{1, 2, 3, 4, 5}

  if testing.Verbose() {
    fmt.Printf("Данные для теста: %v\n", data)
    fmt.Printf("Длина слайса: %d\n", len(data))
  }

  if len(data) == 5 {
    t.Log("Тест пройден")
  }
}

Результат выполнения кода с флагом -v:

go"Данные для теста: [1 2 3 4 5]"
"Длина слайса: 5"

Смотрите также

  • функцию testing.Short,
    которая проверяет запуск тестов в сокращенном режиме
  • функцию testing.T.Log,
    которая выводит сообщения в лог теста
  • тип testing.T,
    который предоставляет методы для управления тестами
  • команду testing.B,
    которая используется для написания бенчмарков