我的项目,使用Go 1.8,依赖于github.com/stretchr/testify
。我使用go get -u github.com/stretchr/testify
检索了最新版本,$GOPATH/src
中的版本似乎是正确的。
我在Gopkg.toml
:
[[constraint]]
name = "github.com/stretchr/testify"
version = "1.1.4"
然后我运行dep ensure -update
然后dep status
更新vendor
目录(dep status
的输出):
github.com/stretchr/testify ^1.1.4 v1.1.4 69483b4 69483b4 1
$GOPATH/src
中的版本在文件github.com/stretchr/testify/assert/assertions.go
中包含函数PanicsWithValue
:
func Panics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool {
// ...
}
func PanicsWithValue(t TestingT, expected interface{}, f PanicTestFunc, msgAndArgs ...interface{}) bool {
// ...
}
func NotPanics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool {
// ...
}
但在vendor
中的版本中,缺少该功能:
func Panics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool {
// ...
}
func NotPanics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool {
// ...
}
我做错了什么?我想在我的测试中使用函数PanicsWithValue
。我甚至尝试删除整个vendor
目录并重建它。
答案 0 :(得分:0)
通过将版本固定到v1.1.4,您明确告诉dep
使用不包含所需功能的版本(检查GitHub上的testify包的历史记录 - v1.1.4来自去年9月,今年6月增加了PanicsWithValue
。如果您取消固定版本(version = "*"
),则应使用包含PanicsWithValue
的master @ HEAD。