Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ByName ¶ added in v1.2.0
type ByName []*TestSuite
ByName implements sort.Interface for []*TestSuite based on the Name field
type FailureOutput ¶
type FailureOutput struct {
XMLName xml.Name `xml:"failure"`
// Message holds the failure message from the test
Message string `xml:"message,attr"`
// Output holds verbose failure output from the test
Output string `xml:",chardata"`
}
FailureOutput holds the output from a failing test
type SkipMessage ¶
type SkipMessage struct {
XMLName xml.Name `xml:"skipped"`
// Message explains why the test was skipped
Message string `xml:"message,attr,omitempty"`
}
SkipMessage holds a message explaining why a test was skipped
type TestCase ¶
type TestCase struct {
XMLName xml.Name `xml:"testcase"`
// Name is the name of the test case
Name string `xml:"name,attr"`
// Classname is an attribute set by the package type and is required
Classname string `xml:"classname,attr,omitempty"`
// Duration is the time taken in seconds to run the test
Duration float64 `xml:"time,attr"`
// SkipMessage holds the reason why the test was skipped
SkipMessage *SkipMessage `xml:"skipped"`
// FailureOutput holds the output from a failing test
FailureOutput *FailureOutput `xml:"failure"`
// SystemOut is output written to stdout during the execution of this test case
SystemOut string `xml:"system-out,omitempty"`
// SystemErr is output written to stderr during the execution of this test case
SystemErr string `xml:"system-err,omitempty"`
}
TestCase represents a jUnit test case
func (*TestCase) MarkFailed ¶
func (t *TestCase) MarkFailed(message, output string)
MarkFailed marks the test as failed with the given message and output
func (*TestCase) MarkSkipped ¶
func (t *TestCase) MarkSkipped(message string)
MarkSkipped marks the test as skipped with the given message
func (*TestCase) SetDuration ¶
func (t *TestCase) SetDuration(duration string) error
SetDuration sets the runtime duration of the test case
type TestResult ¶
type TestResult string
TestResult is the result of a test case
const (
TestResultPass TestResult = "pass"
TestResultSkip TestResult = "skip"
TestResultFail TestResult = "fail"
)
type TestSuite ¶
type TestSuite struct {
XMLName xml.Name `xml:"testsuite"`
// Name is the name of the test suite
Name string `xml:"name,attr"`
// NumTests records the number of tests in the TestSuite
NumTests uint `xml:"tests,attr"`
// NumSkipped records the number of skipped tests in the suite
NumSkipped uint `xml:"skipped,attr"`
// NumFailed records the number of failed tests in the suite
NumFailed uint `xml:"failures,attr"`
// Duration is the time taken in seconds to run all tests in the suite
Duration float64 `xml:"time,attr"`
// Properties holds other properties of the test suite as a mapping of name to value
Properties []*TestSuiteProperty `xml:"properties,omitempty"`
// TestCases are the test cases contained in the test suite
TestCases []*TestCase `xml:"testcase"`
// Children holds nested test suites
Children []*TestSuite `xml:"testsuite"`
}
TestSuite represents a single jUnit test suite, potentially holding child suites.
func (*TestSuite) AddProperty ¶
func (t *TestSuite) AddProperty(name, value string)
AddProperty adds a property to the test suite, deduplicating multiple additions of the same property by overwriting the previous record to reflect the new values
func (*TestSuite) AddTestCase ¶
func (t *TestSuite) AddTestCase(testCase *TestCase)
AddTestCase adds a test case to the test suite and updates test suite metrics as necessary
func (*TestSuite) SetDuration ¶
func (t *TestSuite) SetDuration(duration string) error
SetDuration sets the duration of the test suite if this value is not calculated by aggregating the durations of all of the substituent test cases. This should *not* be used if the total duration of the test suite is calculated as that sum, as AddTestCase will handle that case.
type TestSuiteProperty ¶
type TestSuiteProperty struct {
XMLName xml.Name `xml:"property"`
Name string `xml:"name,attr"`
Value string `xml:"value,attr"`
}
TestSuiteProperty contains a mapping of a property name to a value
type TestSuites ¶
type TestSuites struct {
XMLName xml.Name `xml:"testsuites"`
// Suites are the jUnit test suites held in this collection
Suites []*TestSuite `xml:"testsuite"`
}
TestSuites represents a flat collection of jUnit test suites.