Функция testing.CoverMode

Функция testing.CoverMode возвращает строку, которая описывает текущий режим сбора информации о покрытии кода. Она не принимает никаких параметров и возвращает одну из строк: "set", "count" или "atomic". Эта функция полезна для определения того, как именно собирается информация о покрытии во время выполнения тестов.

Синтаксис

gotesting.CoverMode()

Пример

Давайте получим режим сбора покрытия в простом тесте:

gopackage main

import (
  "fmt"
  "testing"
)

func main() {
  mode := testing.CoverMode()
  fmt.Println(mode)
}

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

go"set"

Пример

Давайте проверим различные режимы сбора покрытия с помощью условной логики:

gopackage main

import (
  "fmt"
  "testing"
)

func main() {
  mode := testing.CoverMode()

  switch mode {
  case "set":
    fmt.Println("Coverage mode: set (binary)")
  case "count":
    fmt.Println("Coverage mode: count (execution count)")
  case "atomic":
    fmt.Println("Coverage mode: atomic (thread-safe count)")
  default:
    fmt.Println("Unknown coverage mode")
  }
}

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

go"Coverage mode: set (binary)"

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

  • функцию testing.Coverage,
    которая возвращает текущий процент покрытия кода
  • функцию testing.Verbose,
    которая проверяет, запущены ли тесты в детальном режиме
  • функцию testing.Short,
    которая проверяет, выполняется ли сокращенный режим тестирования
  • функцию testing.AllocsPerRun,
    которая измеряет количество аллокаций памяти за одну итерацию