Package org.eclipse.jdt.junit.model

# Interface ITestElement

All Known Subinterfaces:
  `ITestCaseElement`, `ITestElementContainer`, `ITestRunSession`, `ITestSuiteElement`

public interface ITestElement
Common protocol for test elements. This set consists of `ITestCaseElement` , `ITestSuiteElement` and `ITestRunSession`

This interface is not intended to be implemented by clients.

Since:
  3.3
Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static final class`
`ITestElement.FailureTrace`
A failure trace of a test.
`static final class`
`ITestElement.ProgressState`
Running states of a test.
`static final class`
`ITestElement.Result`
Result states of a test.

## Method Summary

Modifier and Type
Method
Description
`double`
`getElapsedTimeInSeconds()`
Returns the estimated total time elapsed in seconds while executing this test element.
`ITestElement.FailureTrace`
`getFailureTrace()`
Returns the failure trace of this test element or `null` if the test has not resulted in an error or failure.
`ITestElementContainer`
`getParentContainer()`
Returns the parent test element container or `null` if the test element is the test run session.
`ITestElement.ProgressState`
`getProgressState()`
Returns the progress state of this test element.
`ITestElement.Result`
`getTestResult(boolean includeChildren)`
Returns the result of the test element.
`ITestRunSession`
`getTestRunSession()`
Returns the test run session.

## Method Details

### getProgressState

ITestElement.ProgressState getProgressState()
Returns the progress state of this test element.

- `ITestElement.ProgressState.NOT_STARTED`: the test has not yet started
- `ITestElement.ProgressState.RUNNING`: the test is currently running
- `ITestElement.ProgressState.STOPPED`: the test has stopped before being completed
- `ITestElement.ProgressState.COMPLETED`: the test (and all its children) has completed

Returns:
  returns one of `ITestElement.ProgressState.NOT_STARTED`, `ITestElement.ProgressState.RUNNING`, `ITestElement.ProgressState.STOPPED` or `ITestElement.ProgressState.COMPLETED`.

### getTestResult

ITestElement.Result getTestResult(boolean includeChildren)
Returns the result of the test element.

- `ITestElement.Result.UNDEFINED`: the result is not yet evaluated
- `ITestElement.Result.OK`: the test has succeeded
- `ITestElement.Result.ERROR`: the test has returned an error
- `ITestElement.Result.FAILURE`: the test has returned an failure
- `ITestElement.Result.IGNORED`: the test has been ignored (skipped)

Parameters:
  `includeChildren` - if `true`, the returned result is the combined result of the test and its children (if it has any). If `false`, only the test's result is returned.
Returns:
  returns one of `ITestElement.Result.UNDEFINED`, `ITestElement.Result.OK`, `ITestElement.Result.ERROR`, `ITestElement.Result.FAILURE` or `ITestElement.Result.IGNORED`. Clients should also prepare for other, new values.

### getFailureTrace

ITestElement.FailureTrace getFailureTrace()
Returns the failure trace of this test element or `null` if the test has not resulted in an error or failure.

Returns:
  the failure trace of this test or `null`.

### getParentContainer

ITestElementContainer getParentContainer()
Returns the parent test element container or `null` if the test element is the test run session.

Returns:
  the parent test suite

### getTestRunSession

ITestRunSession getTestRunSession()
Returns the test run session.

Returns:
  the parent test run session.

### getElapsedTimeInSeconds

double getElapsedTimeInSeconds()
Returns the estimated total time elapsed in seconds while executing this test element. The total time for a test suite includes the time used for all tests in that suite. The total time for a test session includes the time used for all tests in that session.

Note: The elapsed time is only valid for `ITestElement.ProgressState.COMPLETED` test elements.

Returns:
  total execution time for the test element in seconds, or `Double.NaN` if the state of the element is not `ITestElement.ProgressState.COMPLETED`
Since:
  3.4