我有一个文件,其中包含一些应该在 Go 1.5+ 上运行的测试。
我能够使用runtime.Version()并进行各种比较来获得 Go 运行时版本。
但是,测试文件导入golang.org/x/net/http2. 该http2软件包需要request.Cancel()from net/http,但仅适用于 Go 1.5+。
这会导致我的 CI 环境中出现这些错误,从而导致构建失败:
../../../golang.org/x/net/http2/transport.go:214: req.Cancel undefined (type *http.Request has no field or method Cancel)
../../../golang.org/x/net/http2/transport.go:218: req.Cancel undefined (type *http.Request has no field or method Cancel)
../../../golang.org/x/net/http2/transport.go:777: req.Cancel undefined (type *http.Request has no field or method Cancel)
我尝试添加// +build go1.5到文件的顶部,但没有奏效。
无论如何我可以限制一个单元测试文件,以便它只在 Go 1.5+ 系统上构建和测试?
慕运维8079593
相关分类