我的包测试用例分散在多个文件中,如果我运行go test <package_name>
,它会运行包中的所有测试用例。
不过,没有必要运行所有这些程序。有没有办法指定一个文件让go test
运行,以便它只运行文件中定义的测试用例?
发布于 2018-11-02 23:19:36
在运行单个测试时,我通常会这样做:
go test -run TestSomethingReallyCool ./folder1/folder2/ -v -count 1
-count 1
还确保测试每次都会运行,而不是缓存。当您针对争用条件进行测试,并且测试仅在某些情况下失败时,此方法非常有用。在不使用modules的Go版本中,可以通过设置GOCACHE=off
来实现相同的功能,但这与Go模块的交互性很差。
发布于 2019-07-02 11:32:22
go test -v ./<package_name> -run Test
防止缓存测试结果。
go test -count=1 ./<package_name> -run Test
发布于 2018-06-07 13:16:26
alias testcases="sed -n 's/func.*\(Test.*\)(.*/\1/p' | xargs | sed 's/ /|/g'"
go test -v -run $(cat coordinator_test.go | testcases)
https://stackoverflow.com/questions/16935965
复制相似问题