A test suite is a collection of test classes that are intended to be used to test a software program.
A test suite contains one or multiple child test suites (annotated by
TestSuite
) or test classes (annotated by
TestClass
). These children are executed sequentially in the order of their declaration.
Per default the execution of the pending children is cancelled if the execution of one child fails. You can modify this
behavior by annotating the test suite with
ProceedOnFailure
.
It's possible to annotate
TestSuite
annotated classes with
Parallel
in order to indicate that the children
could be run in parallel.
If the test suite is annotated by
Parallel
and not by
ProceedOnFailure
results might differ from one run to
the other as it's not deterministic which children already have been started at the moment when one of the children fails.
Generally spoken, whenever a child fails, all the other children which have not been started yet, are skipped. Children which
have already been started are not cancelled and will terminate normally.