@@ -151,14 +151,16 @@ type SuiteTester struct {
151151 Suite
152152
153153 // Keep counts of how many times each method is run.
154- SetupSuiteRunCount int
155- TearDownSuiteRunCount int
156- SetupTestRunCount int
157- TearDownTestRunCount int
158- TestOneRunCount int
159- TestTwoRunCount int
160- TestSubtestRunCount int
161- NonTestMethodRunCount int
154+ SetupSuiteRunCount int
155+ TearDownSuiteRunCount int
156+ SetupTestRunCount int
157+ TearDownTestRunCount int
158+ TestOneRunCount int
159+ TestTwoRunCount int
160+ TestSubtestRunCount int
161+ NonTestMethodRunCount int
162+ SetupSubTestRunCount int
163+ TearDownSubTestRunCount int
162164
163165 SuiteNameBefore []string
164166 TestNameBefore []string
@@ -255,6 +257,14 @@ func (suite *SuiteTester) TestSubtest() {
255257 }
256258}
257259
260+ func (suite * SuiteTester ) TearDownSubTest () {
261+ suite .TearDownSubTestRunCount ++
262+ }
263+
264+ func (suite * SuiteTester ) SetupSubTest () {
265+ suite .SetupSubTestRunCount ++
266+ }
267+
258268type SuiteSkipTester struct {
259269 // Include our basic suite logic.
260270 Suite
@@ -336,6 +346,9 @@ func TestRunSuite(t *testing.T) {
336346 assert .Equal (t , suiteTester .TestTwoRunCount , 1 )
337347 assert .Equal (t , suiteTester .TestSubtestRunCount , 1 )
338348
349+ assert .Equal (t , suiteTester .TearDownSubTestRunCount , 2 )
350+ assert .Equal (t , suiteTester .SetupSubTestRunCount , 2 )
351+
339352 // Methods that don't match the test method identifier shouldn't
340353 // have been run at all.
341354 assert .Equal (t , suiteTester .NonTestMethodRunCount , 0 )
0 commit comments