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

标签 go visual-studio-code

我正在通过 Visual Studio Code 对 Golang 项目进行单元测试,我使用的依赖项之一称为 mockery 。它的工作原理是在找到的包中创建目标 Golang 接口(interface)的模拟。因此,尽管我可以发誓测试上述包中的所有内容,但我的测试覆盖率仅为 58%。然而,当我从包中取出模拟(事实证明我不需要它)时,我的测试覆盖率(确实如雨)飙升至我预期的 97.9%。

有没有办法告诉 Visual Studio Code“嘿,不要在包覆盖率计算中包含 mock 模拟(以 mock_ 开头)”?

最佳答案

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

关于go - 如何从 Visual Studio Code 中的包覆盖范围中排除生成的模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51847412/

相关文章:

go - 在 Go 中如何从结构的 slice 中删除一个项目

go - 如何检测 ptrace 是否已经在 golang linux 中调用

visual-studio-code - 无法解析资源遍历 ://vscode_getting_started_page

visual-studio-code - 从 VSC 内部向 Bash 终端添加别名

go - 是否可以在 C/C++ 中模仿 Go 界面?

go - exec.Run - 这个 Go 程序出了什么问题?

google-app-engine - 在数据存储中写入请求的主体

javascript - VS Code 中的红色波浪线

macos - 在 Mac 上编译单个 F# 程序

visual-studio-code - 是否可以更改 Visual Studio Code 提示工具提示的位置?