# Interface TestResult

public interface TestResult
Describes a test result.

Since:
  0.9

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static enum`
  `TestResult.ResultType`
  The final status of a test.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `@Nullable TestFailure`
  `getAssumptionFailure()`
  If the test failed with assumption violation, this will contain the failure.
  `long`
  `getEndTime()`
  Returns the time when this test completed execution.
  `@Nullable Throwable`
  `getException()`
  If the test failed with an exception, this will be the exception.
  `List<Throwable>`
  `getExceptions()`
  If the test failed with any exceptions, this will contain the exceptions.
  `long`
  `getFailedTestCount()`
  Returns the number of failed atomic tests executed for this test.
  `List<TestFailure>`
  `getFailures()`
  If the test failed with any exceptions, this will contain the exceptions and a description of the failure types.
  `TestResult.ResultType`
  `getResultType()`
  Returns the type of result.
  `long`
  `getSkippedTestCount()`
  Returns the number of skipped atomic tests executed for this test.
  `long`
  `getStartTime()`
  Returns the time when this test started execution.
  `long`
  `getSuccessfulTestCount()`
  Returns the number of successful atomic tests executed for this test.
  `long`
  `getTestCount()`
  Returns the total number of atomic tests executed for this test.

- ## Method Details

  - ### getResultType

    TestResult.ResultType getResultType()
    Returns the type of result. Generally one wants it to be SUCCESS!
    Returns:
      The result type.
    Since:
      0.9

  - ### getException

    @Nullable Throwable getException()
    If the test failed with an exception, this will be the exception. Some test frameworks do not fail without an exception (JUnit), so in those cases this method will never return null.
    Returns:
      The exception, if any, logged for this test. If none, a null is returned.
    Since:
      0.9

  - ### getFailures

    @Incubating List<TestFailure> getFailures()
    If the test failed with any exceptions, this will contain the exceptions and a description of the failure types.
    Returns:
      The failures, if any, logged for this test. If none, an empty list is returned.
    Since:
      7.6
    See Also:
      - `getExceptions()`

  - ### getExceptions

    List<Throwable> getExceptions()
    If the test failed with any exceptions, this will contain the exceptions. Some test frameworks do not fail without an exception (JUnit), so in those cases this method will never return an empty list.
    Returns:
      The exceptions, if any, logged for this test. If none, an empty list is returned.
    Since:
      0.9

  - ### getAssumptionFailure

    @Incubating @Nullable TestFailure getAssumptionFailure()
    If the test failed with assumption violation, this will contain the failure.
    Returns:
      the failure, if any, logged for this test. If none, null is returned.
    Since:
      8.14

  - ### getStartTime

    long getStartTime()
    Returns the time when this test started execution.
    Returns:
      The start time, in milliseconds since the epoch.
    Since:
      0.9

  - ### getEndTime

    long getEndTime()
    Returns the time when this test completed execution.
    Returns:
      The end t ime, in milliseconds since the epoch.
    Since:
      0.9

  - ### getTestCount

    long getTestCount()
    Returns the total number of atomic tests executed for this test. This will return 1 if this test is itself an atomic test.
    Returns:
      The number of tests, possibly 0
    Since:
      0.9

  - ### getSuccessfulTestCount

    long getSuccessfulTestCount()
    Returns the number of successful atomic tests executed for this test.
    Returns:
      The number of tests, possibly 0
    Since:
      0.9

  - ### getFailedTestCount

    long getFailedTestCount()
    Returns the number of failed atomic tests executed for this test.
    Returns:
      The number of tests, possibly 0
    Since:
      0.9

  - ### getSkippedTestCount

    long getSkippedTestCount()
    Returns the number of skipped atomic tests executed for this test.
    Returns:
      The number of tests, possibly 0
    Since:
      0.9