我已经为我的结构(https://github.com/stretchr/testify#suite-package)设置了测试套件。在我能够通过指定一种模式运行单个测试之前:我可以在套件中运行单个测试吗?
go test -v ./services/gateways/... -run mytest
此方法在转换后不起作用。运气不好还是有办法?
我已经为我的结构(https://github.com/stretchr/testify#suite-package)设置了测试套件。在我能够通过指定一种模式运行单个测试之前:我可以在套件中运行单个测试吗?
go test -v ./services/gateways/... -run mytest
此方法在转换后不起作用。运气不好还是有办法?
我认为你是SOL与包装,但这里有一个类似的方法和GO 1.7的股票测试工具:
package main
import "testing"
func TestSuite1(t *testing.T) {
t.Run("first test", func(t *testing.T) { t.Fail() })
t.Run("second test", func(t *testing.T) { t.Fail() })
}
func TestSuite2(t *testing.T) {
t.Run("third test", func(t *testing.T) { t.Fatal("3") })
t.Run("fourth test", func(t *testing.T) { t.Fatal("4") })
}
例输出一套房:
therealplato/stack-suites Ω go test -run TestSuite1
--- FAIL: TestSuite1 (0.00s)
--- FAIL: TestSuite1/first_test (0.00s)
--- FAIL: TestSuite1/second_test (0.00s)
FAIL
exit status 1
FAIL github.com/therealplato/stack-suites 0.005s
示例输出一个测试:
therealplato/stack-suites Ω go test -run TestSuite2/third
--- FAIL: TestSuite2 (0.00s)
--- FAIL: TestSuite2/third_test (0.00s)
main_test.go:11: 3
FAIL
exit status 1
FAIL github.com/therealplato/stack-suites 0.005s
有趣。也许'TestSuite2/third'是关键。我会尽力。谢谢! – Schultz9999
您可以通过指定运行单个方法的说法。
运行this suite method的命令是:
go test -v github.com/vektra/mockery/mockery -run ^TestGeneratorSuite$ -testify.m TestGenerator
现在标志已经更改为-m(去版本go1.9) –
这是一个耻辱,你不能只用.only来标记测试,或者像你在其他测试框架中可以做的那样。 –
不'-m'你期待什么?从文档:'正则表达式来选择指定命令行参数的测试套件的方法“-m”'也许与'-run'结合来指定套件? – JimB
根据帮助,“run”是 - 只运行与正则表达式匹配的那些测试和示例。“该文件的内容只有一个调用套件方法的测试。因此,在分析文件后''测试'可能只是找不到匹配,如果它看起来像'func TestBlah(t * testing.T)'... – Schultz9999
yes,'-run'选择'Test *'函数来运行,它启动一个特定的套件,'-m'标志将过滤要执行的套件方法。 – JimB