Represents the status of running a test. Test frameworks can decided which of these to
use and what they mean, but in general, the intended meanings are:
The difference between errors and failures, if any, is determined by the test frameworks.
JUnit and specs2 differentiate between errors and failures. ScalaTest reports everything (both assertion failures and unexpected errors) as failures.
JUnit and ScalaTest support ignored tests. ScalaTest and specs2 support a notion of pending tests. ScalaTest differentiates between ignored and
canceled tests, whereas specs2 only supports skipped tests, which are implemented like ScalaTest's canceled tests. TestNG uses "skipped" to report tests
that were not executed because of failures in dependencies, which is also similar to canceled tests in ScalaTest.