From 65318c364a06b1a48ced966934d879a58cfe4add Mon Sep 17 00:00:00 2001 From: Linus Barth Date: Tue, 17 Oct 2023 16:36:33 +0200 Subject: [PATCH] improve: tests for asserting test names in subtests --- suite/suite_test.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/suite/suite_test.go b/suite/suite_test.go index bc32b23..a3c983a 100644 --- a/suite/suite_test.go +++ b/suite/suite_test.go @@ -162,6 +162,9 @@ type SuiteTester struct { SetupSubTestRunCount int TearDownSubTestRunCount int + SetupSubTestNames []string + TearDownSubTestNames []string + SuiteNameBefore []string TestNameBefore []string @@ -242,8 +245,8 @@ func (suite *SuiteTester) TestSubtest() { for _, t := range []struct { testName string }{ - {"first-subtest"}, - {"second-subtest"}, + {"first"}, + {"second"}, } { suiteT := suite.T() suite.Run(t.testName, func() { @@ -258,13 +261,13 @@ func (suite *SuiteTester) TestSubtest() { } func (suite *SuiteTester) TearDownSubTest() { + suite.TearDownSubTestNames = append(suite.TearDownSubTestNames, suite.T().Name()) 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() { + suite.SetupSubTestNames = append(suite.SetupSubTestNames, suite.T().Name()) 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 { @@ -321,6 +324,12 @@ func TestRunSuite(t *testing.T) { assert.Contains(t, suiteTester.TestNameBefore, "TestSkip") 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 { assert.Equal(t, "SuiteTester", suiteName) }