i think you're SOL with that package but here's a similar approach with go 1.7's stock testing tools:
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") })
}
Example output for one suite:
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
Example output for one test:
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
-m
do what you expect? From the documentation:Regular expression to select the methods of test suites specified command-line argument "-m"
maybe combined with-run
to specify the suite? – Biosynthesisrun
is to - Run only those tests and examples matching the regular expression." The content of the file only has one test that calls the suite method. Sogo test
after analyzing files may just not find matches if it looks for something likefunc TestBlah(t *testing.T)
... – Macrography-run
picks theTest*
function to run, which starts a particular suite, and the-m
flag will filter which suite methods to execute. – Biosynthesis