13

我已经为我的结构设置了一个测试套件(https://github.com/stretchr/testify#suite-package)。在我能够通过仅指定一个模式来运行单个测试之前:

go test -v ./services/gateways/... -run mytest

这种方法在转换后不起作用。运气不好还是有办法?

4

2 回答 2

19

您可以通过指定-testify.m参数来运行单个方法。

要运行此套件方法,命令是:

go test -v github.com/vektra/mockery/mockery -run ^TestGeneratorSuite$ -testify.m TestGenerator

于 2017-04-09T22:08:47.567 回答
1

我认为您是该软件包的 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
于 2016-11-07T20:20:59.890 回答