...

Source file src/github.com/stretchr/testify/suite/stats.go

Documentation: github.com/stretchr/testify/suite

     1  package suite
     2  
     3  import "time"
     4  
     5  // SuiteInformation stats stores stats for the whole suite execution.
     6  type SuiteInformation struct {
     7  	Start, End time.Time
     8  	TestStats  map[string]*TestInformation
     9  }
    10  
    11  // TestInformation stores information about the execution of each test.
    12  type TestInformation struct {
    13  	TestName   string
    14  	Start, End time.Time
    15  	Passed     bool
    16  }
    17  
    18  func newSuiteInformation() *SuiteInformation {
    19  	testStats := make(map[string]*TestInformation)
    20  
    21  	return &SuiteInformation{
    22  		TestStats: testStats,
    23  	}
    24  }
    25  
    26  func (s SuiteInformation) start(testName string) {
    27  	s.TestStats[testName] = &TestInformation{
    28  		TestName: testName,
    29  		Start:    time.Now(),
    30  	}
    31  }
    32  
    33  func (s SuiteInformation) end(testName string, passed bool) {
    34  	s.TestStats[testName].End = time.Now()
    35  	s.TestStats[testName].Passed = passed
    36  }
    37  
    38  func (s SuiteInformation) Passed() bool {
    39  	for _, stats := range s.TestStats {
    40  		if !stats.Passed {
    41  			return false
    42  		}
    43  	}
    44  
    45  	return true
    46  }
    47  

View as plain text