大佬教程收集整理的这篇文章主要介绍了使用 go test 跳过一些测试,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
你可以使用+build
标签
┌─ oneofone@Oa [/t/tst-tag]
└──➜ ls
a_test.go b_test.go c_test.go
package Tags
import "tesTing"
func TestA(t *tesTing.T) {}
// +build !feature1
package Tags
import "tesTing"
func TESTB(t *tesTing.T) {}
// +build !feature1
// +build !feature2
package Tags
import "tesTing"
func @R_489_8932@(t *tesTing.T) {}
然后使用-Tags
参数运行测试:
┌─ oneofone@Oa [/t/tst-tag]
└──➜ go test -v . | grep PASS:
--- PASS: TestA (0.00 seconds)
--- PASS: TESTB (0.00 seconds)
--- PASS: @R_489_8932@ (0.00 seconds)
┌─ oneofone@Oa [/t/tst-tag]
└──➜ go test -v -Tags feature1 . | grep PASS:
--- PASS: TestA (0.00 seconds)
┌─ oneofone@Oa [/t/tst-tag]
└──➜ go test -v -Tags feature2 . | grep PASS:
--- PASS: TestA (0.00 seconds)
--- PASS: TESTB (0.00 seconds)
// 更新:不同的逻辑:
// +build all
package Tags
import "tesTing"
func TestA(t *tesTing.T) {}
// +build all feature1
package Tags
import "tesTing"
func TESTB(t *tesTing.T) {}
// +build all feature2
package Tags
import "tesTing"
func @R_489_8932@(t *tesTing.T) {}
┌─ oneofone@Oa [/t/tst-tag]
└──➜ go test -v -Tags all | grep PASS:
--- PASS: TestA (0.00 seconds)
--- PASS: TESTB (0.00 seconds)
--- PASS: @R_489_8932@ (0.00 seconds)
┌─ oneofone@Oa [/t/tst-tag]
└──➜ go test -v -Tags feature1 | grep PASS:
--- PASS: TESTB (0.00 seconds)
┌─ oneofone@Oa [/t/tst-tag]
└──➜ go test -v -Tags="feature1 feature2" | grep PASS:
--- PASS: TESTB (0.00 seconds)
--- PASS: @R_489_8932@ (0.00 seconds)
或者您按名称调用特定测试,例如:
package Tags
import "tesTing"
func TestA1(t *tesTing.T) {}
func TESTB1(t *tesTing.T) {}
func @R_489_8932@1(t *tesTing.T) {}
func TestD1(t *tesTing.T) {}
输出:
┌─ oneofone@Oa [/t/tst-tag]
└──➜ go test -run="(A|B)1" -v | grep PASS:
--- PASS: TestA1 (0.00 seconds)
--- PASS: TESTB1 (0.00 seconds)
┌─ oneofone@Oa [/t/tst-tag]
└──➜ go test -run="D1" -v | grep PASS:
--- PASS: TestD1 (0.00 seconds)
测试包有SkipNow()
和Skip()
方法。因此,可以在单个测试之前添加以下内容:
func skipCI(t *tesTing.T) {
if os.Getenv("CI") != "" {
t.Skip("SkipPing tesTing in CI environment")
}
}
func TestNewFeature(t *tesTing.T) {
skipCI(t)
}
然后,您可以设置环境变量或运行CI=true go test
以设置CI
为命令局部变量。
另一种方法是使用短模式。将以下守卫添加到测试中
if tesTing.Short() {
t.Skip("skipPing tesTing in short mode")
}
然后执行你的测试 go test -short
以上是大佬教程为你收集整理的使用 go test 跳过一些测试全部内容,希望文章能够帮你解决使用 go test 跳过一些测试所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。