2015-06-09 57 views

回答

2

go test这帮助消息似乎表明您可以过滤你正在测试的包:

-coverpkg pkg1,pkg2,pkg3 
    Apply coverage analysis in each test to the given list of packages. 
    The default is for each test to analyze only the package being tested. 
    Packages are specified as import paths. 
    Sets -cover. 

另一种简单的选择,这是我做的,是导入生成的代码作为一个库包它位于代码树之外,因此封面工具会在其统计信息中忽略它。

例如如果您的应用程序为github.com/Fuser97381/myproj,请将生成的代码放入github.com/Fuser97381/protocols。然后,您的代码如下所示:

package main 

import (
     "github.com/Fuser97381/protocols/myproto" 
     "git.apache.org/thrift.git/lib/go/thrift" 
) 

... 
+0

适用于包,但不适用于同一项目中生成的代码。我喜欢你的头像,伙计! – Fuser97381

+1

@ Fuser97381你不能把生成的代码放在别的地方吗?我所做的很简单:我把生成的代码放在一个单独的项目中,其中只包含节俭的gen元素(这也有助于通过生成构建作业),并通过go get导入。然后,我的应用程序的覆盖范围不包括此库的指标。伙计们居住! –

+0

@ Fuser97381我假设“选择”是因为我的评论?如果是这样,我会修改我的答案,为后代更详细地描述这种模式。 –

相关问题