如何在Visual Studio Code的程序包覆盖范围中排除生成的模拟

时间:2018-08-14 18:08:01

标签: go visual-studio-code

我正在通过Visual Studio Code对Golang项目进行单元测试,而我使用的依赖项之一称为mockery。它通过在找到的目标包中创建目标Golang接口的模拟进行工作。结果,即使我可以宣誓要测试上述软件包中的所有内容,我的测试覆盖率也只有58%。但是,当我从包装中取出该模拟游戏(原来我并不需要它)时,我的测试覆盖率(肯定是下雨)会达到我期望的97.9%。

有什么方法可以告诉Visual Studio代码“嘿,在您的包覆盖率计算中不要包括嘲笑模拟(以mock_开头)”

1 个答案:

答案 0 :(得分:1)

解决方案是使用嘲笑-inpkg和-testonly标志,因此生成的嘲笑将转到定义了接口的原始程序包。另外,生成的文件将带有_test.go后缀,因此在构建程序时,代码覆盖率工具和编译器将忽略它们。