MCPcopy
hub / github.com/stretchr/testify / TestRunSuite

Function TestRunSuite

suite/suite_test.go:304–381  ·  view source on GitHub ↗

TestRunSuite will be run by the 'go test' command, so within it, we can run our suite using the Run(*testing.T, TestingSuite) function.

(t *testing.T)

Source from the content-addressed store, hash-verified

302// TestRunSuite will be run by the 'go test' command, so within it, we
303// can run our suite using the Run(*testing.T, TestingSuite) function.
304func TestRunSuite(t *testing.T) {
305 suiteTester := new(SuiteTester)
306 Run(t, suiteTester)
307
308 // Normally, the test would end here. The following are simply
309 // some assertions to ensure that the Run function is working as
310 // intended - they are not part of the example.
311
312 // The suite was only run once, so the SetupSuite and TearDownSuite
313 // methods should have each been run only once.
314 assert.Equal(t, 1, suiteTester.SetupSuiteRunCount)
315 assert.Equal(t, 1, suiteTester.TearDownSuiteRunCount)
316
317 assert.Len(t, suiteTester.SuiteNameAfter, 4)
318 assert.Len(t, suiteTester.SuiteNameBefore, 4)
319 assert.Len(t, suiteTester.TestNameAfter, 4)
320 assert.Len(t, suiteTester.TestNameBefore, 4)
321
322 assert.Contains(t, suiteTester.TestNameAfter, "TestOne")
323 assert.Contains(t, suiteTester.TestNameAfter, "TestTwo")
324 assert.Contains(t, suiteTester.TestNameAfter, "TestSkip")
325 assert.Contains(t, suiteTester.TestNameAfter, "TestSubtest")
326
327 assert.Contains(t, suiteTester.TestNameBefore, "TestOne")
328 assert.Contains(t, suiteTester.TestNameBefore, "TestTwo")
329 assert.Contains(t, suiteTester.TestNameBefore, "TestSkip")
330 assert.Contains(t, suiteTester.TestNameBefore, "TestSubtest")
331
332 assert.Contains(t, suiteTester.SetupSubTestNames, "TestRunSuite/TestSubtest/first")
333 assert.Contains(t, suiteTester.SetupSubTestNames, "TestRunSuite/TestSubtest/second")
334
335 assert.Contains(t, suiteTester.TearDownSubTestNames, "TestRunSuite/TestSubtest/first")
336 assert.Contains(t, suiteTester.TearDownSubTestNames, "TestRunSuite/TestSubtest/second")
337
338 for _, suiteName := range suiteTester.SuiteNameAfter {
339 assert.Equal(t, "SuiteTester", suiteName)
340 }
341
342 for _, suiteName := range suiteTester.SuiteNameBefore {
343 assert.Equal(t, "SuiteTester", suiteName)
344 }
345
346 for _, when := range suiteTester.TimeAfter {
347 assert.False(t, when.IsZero())
348 }
349
350 for _, when := range suiteTester.TimeBefore {
351 assert.False(t, when.IsZero())
352 }
353
354 // There are four test methods (TestOne, TestTwo, TestSkip, and TestSubtest), so
355 // the SetupTest and TearDownTest methods (which should be run once for
356 // each test) should have been run four times.
357 assert.Equal(t, 4, suiteTester.SetupTestRunCount)
358 assert.Equal(t, 4, suiteTester.TearDownTestRunCount)
359
360 // Each test should have been run once.
361 assert.Equal(t, 1, suiteTester.TestOneRunCount)

Callers

nothing calls this directly

Calls 5

EqualFunction · 0.92
LenFunction · 0.92
ContainsFunction · 0.92
FalseFunction · 0.92
RunFunction · 0.85

Tested by

no test coverage detected