testing - 如何对项目中除 vendor 包之外的所有测试文件运行 go test

标签 testing go package

我的项目文件夹包含:

Makefile  README.md  component/  driver/  service/  vendor/  worker/

我想对所有测试文件运行 go test,例如foobar_test.go 文件, vendor 包中的测试文件除外。我最接近成功的是 go test ./... 但其中包括 vendor 测试文件。

我在文档中看到您可以将正则表达式传递给 -run 选项,但我无法让它正常工作。例如,我尝试了 go test ./*,但我得到了一堆 can't load package errors

执行此操作的最佳方法是什么?

最佳答案

-run 模式只匹配测试标识符(不是文件名);原则上你可以这样做:

go test -run TestFoo

但是当您必须将 Foo 添加到所有测试函数名称时,您可能不希望这样做。

从 Go 1.9 开始,... 通配符排除了 ./vendor 目录,因此您现在可以运行 go test ./... 并且它不会包含 ./vendor.

关于testing - 如何对项目中除 vendor 包之外的所有测试文件运行 go test,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52816437/

相关文章:

linux - 如何解决 rpm 不可读错误

testing - Playframework 2.1 测试 POST 请求中的无效 JSON

xml - 以属性的存在为条件的 XSD 断言

go - gin gonic 中间件,如何获取链中下一个处理程序的失败/成功状态

go - 如何以新的方式构建 Golang 模块和项目结构

java - 有没有办法强制Java从命名包中识别未命名包?

ruby-on-rails - RSPEC - 测试说对象为零,但在实践中工作正常

ruby-on-rails - 功能测试中的请求格式

sorting - 带重音符号的字符串键的排序结构

jsp - 无法使用 Apache Tomcat 将简单的类/包导入到简单的 JSP 页面中