Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Error ¶
type Error struct { // Message is a descriptor given to the error. Purpose and values differ by // environment. Message string `json:"message,omitempty" yaml:"message,omitempty"` // Type is a descriptor given to the error. Purpose and values differ by // framework. Value is typically an exception class, such as an assertion. Type string `json:"type,omitempty" yaml:"type,omitempty"` // Body is extended text for the error. Purpose and values differ by // framework. Value is typically a stacktrace. Body string `json:"body,omitempty" yaml:"body,omitempty"` }
Error represents an erroneous test result.
type Status ¶
type Status string
Status represents the result of a single a JUnit testcase. Indicates if a testcase was run, and if it was successful.
const ( // StatusPassed represents a JUnit testcase that was run, and did not // result in an error or a failure. StatusPassed Status = "passed" // StatusSkipped represents a JUnit testcase that was intentionally // skipped. StatusSkipped Status = "skipped" // StatusFailed represents a JUnit testcase that was run, but resulted in // a failure. Failures are violations of declared test expectations, // such as a failed assertion. StatusFailed Status = "failed" // StatusError represents a JUnit testcase that was run, but resulted in // an error. Errors are unexpected violations of the test itself, such as // an uncaught exception. StatusError Status = "error" )
type Suite ¶
type Suite struct { // Name is a descriptor given to the suite. Name string `json:"name" yaml:"name"` // Package is an additional descriptor for the hierarchy of the suite. Package string `json:"package" yaml:"package"` // Properties is a mapping of key-value pairs that were available when the // tests were run. Properties map[string]string `json:"properties,omitempty" yaml:"properties,omitempty"` // Tests is an ordered collection of tests with associated results. Tests []Test `json:"tests,omitempty" yaml:"tests,omitempty"` // Suites is an ordered collection of suites with associated tests. Suites []Suite `json:"suites,omitempty" yaml:"suites,omitempty"` // SystemOut is textual test output for the suite. Usually output that is // written to stdout. SystemOut string `json:"stdout,omitempty" yaml:"stdout,omitempty"` // SystemErr is textual test error output for the suite. Usually output that is // written to stderr. SystemErr string `json:"stderr,omitempty" yaml:"stderr,omitempty"` // Totals is the aggregated results of all tests. Totals Totals `json:"totals" yaml:"totals"` }
Suite represents a logical grouping (suite) of tests.
func Ingest ¶
Ingest will parse the given XML data and return a slice of all contained JUnit test suite definitions.
func IngestDir ¶
IngestDir will search the given directory for XML files and return a slice of all contained JUnit test suite definitions.
func IngestFile ¶
IngestFile will parse the given XML file and return a slice of all contained JUnit test suite definitions.
func IngestFiles ¶
IngestFiles will parse the given XML files and return a slice of all contained JUnit test suite definitions.
func IngestReader ¶
IngestReader will parse the given XML reader and return a slice of all contained JUnit test suite definitions.
type Test ¶
type Test struct { // Name is a descriptor given to the test. Name string `json:"name" yaml:"name"` // Classname is an additional descriptor for the hierarchy of the test. Classname string `json:"classname" yaml:"classname"` // Duration is the total time taken to run the tests. Duration time.Duration `json:"duration" yaml:"duration"` // Status is the result of the test. Status values are passed, skipped, // failure, & error. Status Status `json:"status" yaml:"status"` // Message is an textual description optionally included with a skipped, // failure, or error test case. Message string `json:"message" yaml:"message"` // Error is a record of the failure or error of a test, if applicable. // // The following relations should hold true. // Error == nil && (Status == Passed || Status == Skipped) // Error != nil && (Status == Failed || Status == Error) Error error `json:"error" yaml:"error"` // Additional properties from XML node attributes. // Some tools use them to store additional information about test location. Properties map[string]string `json:"properties" yaml:"properties"` // SystemOut is textual output for the test case. Usually output that is // written to stdout. SystemOut string `json:"stdout,omitempty" yaml:"stdout,omitempty"` // SystemErr is textual error output for the test case. Usually output that is // written to stderr. SystemErr string `json:"stderr,omitempty" yaml:"stderr,omitempty"` }
Test represents the results of a single test run.
type Totals ¶
type Totals struct { // Tests is the total number of tests run. Tests int `json:"tests" yaml:"tests"` // Passed is the total number of tests that passed successfully. Passed int `json:"passed" yaml:"passed"` // Skipped is the total number of tests that were skipped. Skipped int `json:"skipped" yaml:"skipped"` // Failed is the total number of tests that resulted in a failure. Failed int `json:"failed" yaml:"failed"` // Error is the total number of tests that resulted in an error. Error int `json:"error" yaml:"error"` // Duration is the total time taken to run all tests. Duration time.Duration `json:"duration" yaml:"duration"` }
Totals contains aggregated results across a set of test runs. Is usually calculated as a sum of all given test runs, and overrides whatever was given at the suite level.
The following relation should hold true.
Tests == (Passed + Skipped + Failed + Error)