Class Hierarchy (JUnit API)
Date: 2018-08-04

# Hierarchy For All Packages

Package Hierarchies:

- org.junit,
- org.junit.experimental,
- org.junit.experimental.categories,
- org.junit.experimental.max,
- org.junit.experimental.results,
- org.junit.experimental.runners,
- org.junit.experimental.theories,
- org.junit.experimental.theories.suppliers,
- org.junit.matchers,
- org.junit.rules,
- org.junit.runner,
- org.junit.runner.manipulation,
- org.junit.runner.notification,
- org.junit.runners,
- org.junit.runners.model,
- org.junit.runners.parameterized,
- org.junit.validator

## Class Hierarchy

- java.lang.Object
  - org.junit.validator.AnnotationsValidator (implements org.junit.validator.TestClassValidator)
  - org.junit.validator.AnnotationValidator
    - org.junit.experimental.categories.CategoryValidator
  - org.junit.validator.AnnotationValidatorFactory
  - org.junit.Assert
  - org.junit.Assume
  - org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParametersFactory (implements org.junit.runners.parameterized.ParametersRunnerFactory)
  - org.junit.runner.Computer
    - org.junit.experimental.ParallelComputer
  - org.junit.runner.Description (implements java.io.Serializable)
  - org.junit.rules.DisableOnDebug (implements org.junit.rules.TestRule)
  - org.junit.experimental.categories.ExcludeCategories
  - org.junit.rules.ExpectedException (implements org.junit.rules.TestRule)
  - org.junit.rules.ExternalResource (implements org.junit.rules.TestRule)
    - org.junit.rules.TemporaryFolder
  - org.junit.runner.notification.Failure (implements java.io.Serializable)
  - org.junit.runner.manipulation.Filter
    - org.junit.experimental.categories.Categories.CategoryFilter
  - org.junit.runner.FilterFactoryParams
  - org.junit.runners.model.FrameworkMember<T> (implements org.junit.runners.model.Annotatable)
    - org.junit.runners.model.FrameworkField
    - org.junit.runners.model.FrameworkMethod
  - org.junit.experimental.categories.IncludeCategories
  - org.junit.runner.JUnitCore
  - org.junit.matchers.JUnitMatchers
  - org.junit.experimental.max.MaxCore
  - org.junit.experimental.max.MaxHistory (implements java.io.Serializable)
  - org.junit.experimental.theories.ParameterSignature
  - org.junit.experimental.theories.ParameterSupplier
    - org.junit.experimental.theories.suppliers.TestedOnSupplier
  - org.junit.experimental.theories.PotentialAssignment
  - org.junit.experimental.results.PrintableResult
  - org.junit.validator.PublicClassValidator (implements org.junit.validator.TestClassValidator)
  - org.junit.runner.Request
  - org.junit.runner.Result (implements java.io.Serializable)
  - org.junit.experimental.results.ResultMatchers
  - org.junit.rules.RuleChain (implements org.junit.rules.TestRule)
  - org.junit.runner.notification.RunListener
  - org.junit.runner.Runner (implements org.junit.runner.Describable)
    - org.junit.internal.runners.JUnit38ClassRunner (implements org.junit.runner.manipulation.Filterable, org.junit.runner.manipulation.Sortable)
      - org.junit.internal.runners.SuiteMethod
        - org.junit.runners.AllTests
    - org.junit.runners.ParentRunner<T> (implements org.junit.runner.manipulation.Filterable, org.junit.runner.manipulation.Sortable)
      - org.junit.runners.BlockJUnit4ClassRunner
        - org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParameters
        - org.junit.runners.JUnit4
        - org.junit.experimental.theories.Theories
      - org.junit.runners.Suite
        - org.junit.experimental.categories.Categories
        - org.junit.experimental.runners.Enclosed
        - org.junit.runners.Parameterized
  - org.junit.runners.model.RunnerBuilder
  - org.junit.runner.notification.RunNotifier
  - org.junit.runner.manipulation.Sorter (implements java.util.Comparator<T>)
  - org.junit.runners.model.Statement
    - org.junit.rules.RunRules
    - org.junit.experimental.theories.Theories.TheoryAnchor
  - org.junit.rules.Stopwatch (implements org.junit.rules.TestRule)
  - org.junit.runners.model.TestClass (implements org.junit.runners.model.Annotatable)
  - org.junit.rules.TestWatcher (implements org.junit.rules.TestRule)
    - org.junit.rules.TestName
  - org.junit.rules.TestWatchman (implements org.junit.rules.MethodRule)
  - org.junit.runners.parameterized.TestWithParameters
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Error
      - java.lang.AssertionError
        - org.junit.ComparisonFailure
    - java.lang.Exception
      - org.junit.experimental.max.CouldNotReadCoreException
      - org.junit.runner.FilterFactory.FilterNotCreatedException
      - org.junit.runners.model.InitializationError
      - org.junit.runners.model.MultipleFailureException
      - org.junit.runner.manipulation.NoTestsRemainException
      - org.junit.experimental.theories.PotentialAssignment.CouldNotGenerateValueException
      - java.lang.RuntimeException
        - org.junit.internal.AssumptionViolatedException (implements org.hamcrest.SelfDescribing)
          - org.junit.AssumptionViolatedException
        - org.junit.runner.notification.StoppedByUserException
      - org.junit.runners.model.TestTimedOutException
    - org.junit.Test.None
  - org.junit.rules.Timeout (implements org.junit.rules.TestRule)
  - org.junit.rules.Timeout.Builder
  - org.junit.rules.Verifier (implements org.junit.rules.TestRule)
    - org.junit.rules.ErrorCollector

## Interface Hierarchy

- org.junit.runners.model.Annotatable
- org.junit.runner.Describable
- org.junit.runner.manipulation.Filterable
- org.junit.runner.FilterFactory
- org.junit.rules.MethodRule
- org.junit.runners.parameterized.ParametersRunnerFactory
- org.junit.runners.model.RunnerScheduler
- org.junit.runner.manipulation.Sortable
- org.junit.validator.TestClassValidator
- org.junit.rules.TestRule

## Annotation Type Hierarchy

- org.junit.Test (implements java.lang.annotation.Annotation)
- org.junit.Rule (implements java.lang.annotation.Annotation)
- org.junit.After (implements java.lang.annotation.Annotation)
- org.junit.Before (implements java.lang.annotation.Annotation)
- org.junit.ClassRule (implements java.lang.annotation.Annotation)
- org.junit.BeforeClass (implements java.lang.annotation.Annotation)
- org.junit.Ignore (implements java.lang.annotation.Annotation)
- org.junit.AfterClass (implements java.lang.annotation.Annotation)
- org.junit.FixMethodOrder (implements java.lang.annotation.Annotation)
- org.junit.experimental.categories.Categories.IncludeCategory (implements java.lang.annotation.Annotation)
- org.junit.experimental.categories.Categories.ExcludeCategory (implements java.lang.annotation.Annotation)
- org.junit.experimental.categories.Category (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.ParametersSuppliedBy (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.DataPoint (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.DataPoints (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.Theory (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.FromDataPoints (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.suppliers.TestedOn (implements java.lang.annotation.Annotation)
- org.junit.runner.RunWith (implements java.lang.annotation.Annotation)
- org.junit.runner.notification.RunListener.ThreadSafe (implements java.lang.annotation.Annotation)
- org.junit.runners.Suite.SuiteClasses (implements java.lang.annotation.Annotation)
- org.junit.runners.Parameterized.Parameters (implements java.lang.annotation.Annotation)
- org.junit.runners.Parameterized.Parameter (implements java.lang.annotation.Annotation)
- org.junit.runners.Parameterized.UseParametersRunnerFactory (implements java.lang.annotation.Annotation)
- org.junit.validator.ValidateWith (implements java.lang.annotation.Annotation)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.junit.runners.MethodSorters