猿问

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

我正在通过 Visual Studio Code 对 Golang 项目进行单元测试,我使用的依赖项之一称为mockery. 它通过在找到的包中创建目标 Golang 接口的模拟来工作。因此,即使我发誓要测试所述包中的所有内容,我的测试覆盖率也只有 58%。然而,当我从包中取出模拟(事实证明我不需要它)时,我的测试覆盖率肯定像雨一样猛增到我预期的 97.9%。

有什么方法可以告诉 Visual Studio Code“嘿,不要在你的包覆盖率计算中包含嘲弄模拟(以 开头mock_)”?


斯蒂芬大帝
浏览 172回答 1
1回答

哆啦的时光机

解决方案是使用 mockery -inpkg 和 -testonly 标志,这样生成的模拟将转到定义接口的原始包。生成的文件也将具有 _test.go 后缀,因此它们将在您构建程序时被代码覆盖工具和编译器忽略。
随时随地看视频慕课网APP

相关分类

Go
我要回答