Игнорировать кодовые блоки в расчете на покрытие Голанга

Я пишу модульные тесты для моего golang-кода, и есть несколько методов, которые я бы хотел игнорировать при вычислении покрытия. Это возможно? Если да, то как?

Ответы

Ответ 1

Один из способов сделать это - поставить функции, которые вы не хотите тестировать в отдельном файле go, и использовать тег сборки, чтобы он не включался во время тестов. Например, иногда я делаю это с приложениями, где у меня есть файл main.go с основной функцией, возможно, функцией использования и т.д., Которые не проходят проверку. Затем вы можете добавить тестовый тег или что-то вроде go test -v -cover -tags test, а главное может выглядеть примерно так:

//+build !test

package main

func main() {
    // do stuff
}

func usage() {
    // show some usage info
}