Documentation
¶
Index ¶
Constants ¶
const ( // StatusPassed represents a passed test. StatusPassed = "passed" // StatusSkipped represents a test case that was intentionally skipped. StatusSkipped = "skipped" // StatusFailed represents a violation of declared test expectations, // such as a failed assertion. StatusFailed = "failed" // StatusError represents an unexpected violation of the test itself, such as // an uncaught exception. StatusError = "error" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FileStatus ¶
type FileStatus string
type Result ¶
type Result struct { Status Status `json:"status"` Message string `json:"message"` Type string `json:"type"` Desc string `json:"desc"` }
Result contains the metadata related to the test result
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 IngestFile ¶
IngestFile will parse the given XML file 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"` // Filename indicates names of the file containing the test. Filename string `json:"file,omitempty" yaml:"file,omitempty"` // DurationMs is the total time taken to run the tests in milliseconds. DurationMs int64 `json:"duration_ms" yaml:"duration"` // Result contains information related to the status of the test execution. Result Result `json:"Result" yaml:"Result"` // 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"` // DurationMs is the total time taken to run all tests in milliseconds DurationMs int64 `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)