mirror of https://github.com/stretchr/testify.git
improve: tests for asserting test names in subtests
parent
130d340262
commit
65318c364a
|
@ -162,6 +162,9 @@ type SuiteTester struct {
|
||||||
SetupSubTestRunCount int
|
SetupSubTestRunCount int
|
||||||
TearDownSubTestRunCount int
|
TearDownSubTestRunCount int
|
||||||
|
|
||||||
|
SetupSubTestNames []string
|
||||||
|
TearDownSubTestNames []string
|
||||||
|
|
||||||
SuiteNameBefore []string
|
SuiteNameBefore []string
|
||||||
TestNameBefore []string
|
TestNameBefore []string
|
||||||
|
|
||||||
|
@ -242,8 +245,8 @@ func (suite *SuiteTester) TestSubtest() {
|
||||||
for _, t := range []struct {
|
for _, t := range []struct {
|
||||||
testName string
|
testName string
|
||||||
}{
|
}{
|
||||||
{"first-subtest"},
|
{"first"},
|
||||||
{"second-subtest"},
|
{"second"},
|
||||||
} {
|
} {
|
||||||
suiteT := suite.T()
|
suiteT := suite.T()
|
||||||
suite.Run(t.testName, func() {
|
suite.Run(t.testName, func() {
|
||||||
|
@ -258,13 +261,13 @@ func (suite *SuiteTester) TestSubtest() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (suite *SuiteTester) TearDownSubTest() {
|
func (suite *SuiteTester) TearDownSubTest() {
|
||||||
|
suite.TearDownSubTestNames = append(suite.TearDownSubTestNames, suite.T().Name())
|
||||||
suite.TearDownSubTestRunCount++
|
suite.TearDownSubTestRunCount++
|
||||||
suite.Contains(suite.T().Name(), "subtest", "We should get the *testing.T for the test that is to be torn down")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (suite *SuiteTester) SetupSubTest() {
|
func (suite *SuiteTester) SetupSubTest() {
|
||||||
|
suite.SetupSubTestNames = append(suite.SetupSubTestNames, suite.T().Name())
|
||||||
suite.SetupSubTestRunCount++
|
suite.SetupSubTestRunCount++
|
||||||
suite.Contains(suite.T().Name(), "subtest", "We should get the *testing.T for the test that is to be set up")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type SuiteSkipTester struct {
|
type SuiteSkipTester struct {
|
||||||
|
@ -321,6 +324,12 @@ func TestRunSuite(t *testing.T) {
|
||||||
assert.Contains(t, suiteTester.TestNameBefore, "TestSkip")
|
assert.Contains(t, suiteTester.TestNameBefore, "TestSkip")
|
||||||
assert.Contains(t, suiteTester.TestNameBefore, "TestSubtest")
|
assert.Contains(t, suiteTester.TestNameBefore, "TestSubtest")
|
||||||
|
|
||||||
|
assert.Contains(t, suiteTester.SetupSubTestNames, "TestRunSuite/TestSubtest/first")
|
||||||
|
assert.Contains(t, suiteTester.SetupSubTestNames, "TestRunSuite/TestSubtest/second")
|
||||||
|
|
||||||
|
assert.Contains(t, suiteTester.TearDownSubTestNames, "TestRunSuite/TestSubtest/first")
|
||||||
|
assert.Contains(t, suiteTester.TearDownSubTestNames, "TestRunSuite/TestSubtest/second")
|
||||||
|
|
||||||
for _, suiteName := range suiteTester.SuiteNameAfter {
|
for _, suiteName := range suiteTester.SuiteNameAfter {
|
||||||
assert.Equal(t, "SuiteTester", suiteName)
|
assert.Equal(t, "SuiteTester", suiteName)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue