忽略Golang测试覆盖率计算中的代码块

时间:2014-08-26 16:47:54

标签: unit-testing go code-coverage

我正在为golang代码编写单元测试,并且在计算coverage时我想忽略几种方法。这可能吗?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:14)

一种方法是将您不想测试的函数放在单独的go文件中,并使用构建标记来防止它在测试期间被包含。例如,我有时会在应用程序中执行此操作,其中我有一个带有main函数的main.go文件,可能是一个使用函数等,但未经过测试。然后你可以添加一个测试标签或类似的东西,比如go test -v -cover -tags test,主要看起来像:

//+build !test

package main

func main() {
    // do stuff
}

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